繁体   English   中英

如何使用字符串反转 Java 中的数字?

[英]How do I reverse a number in Java using String?

我使用了以下逻辑,但出现异常“java.lang.StringIndexOutOfBoundsException”。 帮助将不胜感激。 谢谢!!

import java.util.Scanner;
public class Demo{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number:- ");
        String number = sc.next();                      

        for (int i = number.length(); i >= 0; i--) {    
            System.out.println(number.charAt(i));
        }

    }

}

您只需要中途遍历字符串,将字符作为索引 go 向中间交换。 这适用于偶数或奇数长度的字符串。

Scanner sc = new Scanner(System.in);
System.out.print("Enter a number:- ");
char[] chars = sc.next().toCharArray();
int len = chars.length;
for (int i = 0; i < len/2; i++) {
     char c1 = chars[i];
     char c2 = chars[len-i-1];
     chars[i] = c2;
     chars[len-i-1] = c1;
}
String s = new String(chars);
System.out.println(s);

或者只使用StringBuilder class 中包含的reverse()方法。

import java.util.Scanner;
public class Demo{

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number:- ");
        String number = sc.next();                      

        for (int i = number.length() -1 ; i >= 0; i--) {    // correct answer: number.lenght() -1 as array start with 0.
            System.out.print(number.charAt(i)); //using print instead of println so that it display in same line
        }

    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM