带数组的数字到数字程序

时间:2017-02-16 18:48:24

标签: java arrays

我想制作一个程序,它将取一个三位数字并将其分成数字。编译或运行没问题,但最终输出给出了0,0和0。

我对阵列并不熟悉,所以我只是尝试不同的东西。请让我知道问题是什么,或者我可以做些什么来改进我的代码。

import java.util.Scanner;

public class numToDig{

    public static void main(String[] args) {

        Scanner s=new Scanner(System.in);

        System.out.print("enter a three digit number: ");

        int n=s.nextInt();

        int arr[]=new int[n];

        System.out.println("The digits are: " + arr[0] + ", " + arr[1] + ", and " + arr[2]);
    }
}

3 个答案:

答案 0 :(得分:0)

一种可能性:

@Test
public void testIntTocharArray() {
    int num = 123;
    char[] nums = ("" + num).toCharArray();
    int[] digits = new int[nums.length];

    for(int i=0;i<nums.length;i++){
        digits[i] = Character.getNumericValue(nums[i]);
        System.out.print(digits[i] + " ");
    }

}

答案 1 :(得分:0)

您正在做的是创建一个长度为n的数组。默认情况下,数组的所有元素都是0,因此输出会给出0,0,0。首先,您应该在任何输入之前创建一个3的数组长度。然后你应该在循环中获得输入并用这些输入填充数组。

答案 2 :(得分:0)

试试这个

Scanner sc=new Scanner(System.in);

System.out.print("enter a three digit number: ");

String digits = sc.nextLine();
String  arr[]=digits.split("");
System.out.println("The digits are: " + arr[0] + ", " + arr[1] + ", and " + arr[2]);

Scanner sc=new Scanner(System.in);

System.out.print("enter a three digit number: ");

String digits = sc.nextLine();
char  arr[]=digits.toCharArray();
System.out.println("The digits are: " + arr[0] + ", " + arr[1] + ", and " + arr[2]);