Java如何實(shí)現(xiàn)數(shù)字逆序
Java實(shí)現(xiàn)數(shù)字逆序
輸入一個(gè)不多于5位的正整數(shù),逆序后輸出結(jié)果:

具體代碼如下:
package com.jasmyn.demo;
/**
* 給一個(gè)不多于5位的正整數(shù),
* 要求:①求出它是幾位數(shù);②分別打印出每一位數(shù)字;
* ③按逆序打印出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。
*/
import java.util.*;
public class demo4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("請輸入一個(gè)不多于5位的正整數(shù):");
Scanner sc = new Scanner(System.in);
String number=sc.next();
System.out.println("輸入的數(shù)是"+number.length()+"位數(shù)");
for(int i=0;i<number.length();i++) {
System.out.println("第"+(i+1)+"位數(shù)是:"+number.charAt(i));
}
System.out.print("逆序后的數(shù)為:");
for(int i=number.length()-1;i>=0;i--) {
System.out.print(number.charAt(i));
}
}
}
//數(shù)字轉(zhuǎn)化字符串可以直接加雙引號
//String str=number+"";
Java逆序輸出問題
題目:任意給定一個(gè)正整數(shù),將其形成一個(gè)逆序數(shù)據(jù)并輸出
分析:本題有兩種做法:
一、將整數(shù)的每一個(gè)數(shù)據(jù)提取出來存放到數(shù)組中輸出,
二、用字符串轉(zhuǎn)化成整數(shù),逆序輸出
第一種方法:需要兩個(gè)類
第一個(gè)類:,定義數(shù)據(jù)屬性,實(shí)現(xiàn)基本的方法
在寫逆序輸出的時(shí)候要注意以下幾點(diǎn):
1,若原來的整數(shù)最后面是0,則在逆序輸出的時(shí)候第一個(gè)數(shù)字不能輸0--------------如何解決?
當(dāng)遇到0時(shí)則不輸出
2,解決第一個(gè)問題的基礎(chǔ)上,若整數(shù)的內(nèi)部有0,例如302300,內(nèi)部的也不會輸出,-----------------如何解決?
記錄每一個(gè)數(shù)字的下標(biāo),輸出時(shí),按照下標(biāo)輸出
第二個(gè)類:測試類
詳細(xì)代碼
package 逆序輸出;
?
public class NX {
?? ?private int n;
?
?? ?public NX(int n) {
?? ??? ?this.n = n;
?? ?}
?
?? ?public NX() {}
?
?? ?public int getN() {
?? ??? ?return n;
?? ?}
?
?? ?public void setN(int n) {
?? ??? ?this.n = n;
?? ?}
?? ?public void nixu()
?? ?{
?? ??? ?int i=0;
?? ??? ?int[] a=new int[100];
?? ??? ?while(n!=0) {
?? ??? ??? ?a[i]=n%10;
?? ??? ??? ?i++;
?? ??? ??? ?n=n/10;
?? ??? ?}
?? ??? ?int pos=0;
?? ??? ?for(int j=0;j<i;j++)
?? ??? ?{
?? ??? ??? ?//System.out.println(a[0]);
?? ??? ??? ?if(a[j]!=0) {
?? ??? ??? ??? ?pos=j;
? ? ? ? ? ? ? ? ?break;
?? ??? ??? ?} ?
?? ??? ?}
?? ??? ?for(int j=pos;j<i;j++)
?? ??? ?{
? ? ? ? ?System.out.print(a[j]);
?? ??? ?}
?? ?}
?? ?
?
}package 逆序輸出;
?
public class Main_test {
?? ?public static void main(String[] args) {
?? ??? ?NX nx=new NX(500400300);
?? ??? ?nx.nixu();
?? ?}
?
}第二種做法:
package 逆序輸出;
?
public class NX1 {
?? ?private String string;
?
?? ?public NX1(String string) {
?? ??? ?this.string = string;
?? ?}
?
?? ?public NX1() {}
?
?? ?public String getString() {
?? ??? ?return string;
?? ?}
?
?? ?public void setString(String string) {
?? ??? ?this.string = string;
?? ?}
?? ?public void nixu()
?? ?{
?? ??? ?StringBuffer s=new StringBuffer(string);
?? ??? ?int b=Integer.parseInt(s.reverse().toString());//toString 一定不能省略
?? ??? ?System.out.println(b);
?? ?}
?? ?
?? ?
?
}package 逆序輸出;
public class Main_test1 {
?? ?public static void main(String[] args) {
?? ??? ?NX nx=new NX(12003400);
?? ??? ?nx.nixu();
?? ?}
?
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot 單文件上傳的實(shí)現(xiàn)步驟
這篇文章主要介紹了springboot實(shí)現(xiàn)單文件上傳的方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下2021-02-02
Java如何優(yōu)雅地避免空指針異常(NullPointerException)
這篇文章主要給大家介紹了關(guān)于Java如何優(yōu)雅地避免空指針異常(NullPointerException)的相關(guān)資料,空指針異常(NullPointerException)是一種常見的運(yùn)行時(shí)異常,它在Java編程中經(jīng)常出現(xiàn),需要的朋友可以參考下2024-03-03
SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow)
這篇文章主要介紹了SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
Spring XML Schema擴(kuò)展機(jī)制的使用示例
所謂整合,即在Spring的框架下進(jìn)行擴(kuò)展,讓框架能無縫的與Spring工程配合使用。Spring設(shè)計(jì)了良好的擴(kuò)展的機(jī)制,本文將對Spring的擴(kuò)展方法及原理進(jìn)行簡單介紹。2021-05-05

