有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将5位整数转换为列

我必须编写一个程序,将一个5位整数(如12345或00005)转换为一列,在单独的行上显示每个数字。我被要求使用两种不同的方法,一种是数学方法,另一种是字符串方法。虽然字符串方法没有给我带来任何问题,但我用数学方法把每个数字单独提取出来时遇到了麻烦。这是到目前为止我的代码

import java.util.Scanner; //load scanner
public class digitseparator{
public static void main(String[] args){

Scanner in = new Scanner(System.in);

System.out.println("Enter a five-digit integer: ");
String name = in.nextLine();

double n = in.nextDouble();
double ffthdgt = Double.parseInt((double)n%10000);
double frthdgt = Double.parseInt((double)n%1000);
double thrddgt = Double.parseInt((double)n%100);
double scnddgt = Double.parseInt((double)n%10);
double frstdgt = Double.parseInt((double)n%1); 

System.out.println(frstdgt);
System.out.println(scnddgt);
System.out.println(thrddgt);
System.out.println(frthdgt);
System.out.println(ffthdgt);

System.out.println("String method Solution");
char frst = name.charAt(0);
System.out.println(frst);

char scnd = name.charAt(1);
System.out.println(scnd);

char thrd = name.charAt(2);
System.out.println(thrd);

char frth = name.charAt(3);
System.out.println(frth);

char ffth = name.charAt(4);
System.out.println(ffth); 
}
}

共 (2) 个答案

  1. # 1 楼答案

     import java.util.Scanner; //load scanner
     public class digitseparator
     {
        public static void main(String[] args)
        {
           Scanner in = new Scanner(System.in);
           int arr[] = new int[5];
           System.out.println("Enter a five-digit integer: ");
           int d =in.nextInt();
           String name = Integer.toString(d);
           System.out.println(name);
           for(int i=0;i<5;i++)
           {
          arr[i] = d%10;
          d = d/10; 
           }
           for(int k=0;k<5;k++)
           {
            System.out.println(arr[k]);
           }
           System.out.println("String method Solution");
           for(int m=0;m<5;m++)
           {
             System.out.println(name.charAt(m));
           }  
         }
       }
    

    希望这是你想要的

  2. # 2 楼答案

    首先,Double没有parseInt方法。它有parseDouble,这意味着将String解析为double。但是你已经有了一个double

    接下来,您可以通过以下方式提取数字

    1. 除以10的幂以消除所需数字右侧的数字
    2. 使用%运算符,取除10的余数以提取最后一位数字