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("請(qǐng)輸入一個(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)化字符串可以直接加雙引號(hào) //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)部的也不會(huì)輸出,-----------------如何解決?
記錄每一個(gè)數(shù)字的下標(biāo),輸出時(shí),按照下標(biāo)輸出
第二個(gè)類:測(cè)試類
詳細(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-02Java如何優(yōu)雅地避免空指針異常(NullPointerException)
這篇文章主要給大家介紹了關(guān)于Java如何優(yōu)雅地避免空指針異常(NullPointerException)的相關(guān)資料,空指針異常(NullPointerException)是一種常見的運(yùn)行時(shí)異常,它在Java編程中經(jīng)常出現(xiàn),需要的朋友可以參考下2024-03-03SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow)
這篇文章主要介紹了SpringBoot如何切換成其它的嵌入式Servlet容器(Jetty和Undertow),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Spring XML Schema擴(kuò)展機(jī)制的使用示例
所謂整合,即在Spring的框架下進(jìn)行擴(kuò)展,讓框架能無縫的與Spring工程配合使用。Spring設(shè)計(jì)了良好的擴(kuò)展的機(jī)制,本文將對(duì)Spring的擴(kuò)展方法及原理進(jìn)行簡(jiǎn)單介紹。2021-05-05