我该如何让用户输入一个int值并将它们拆分为单个数字并放入数组?
所以我想给用户输入一个int值。我该如何让用户输入一个int值并将它们拆分为单个数字并放入数组?
System.out.println ("How many number does your Student number has?"); tn = sc.nextInt();
int [] number = new int[tn];
System.out.println ("What is your Student number?");
for (int i = 0; i < tn; i++)
{
number[i] = sc.nextInt();
}
所以当你们看到的,第一的println后,如果我们输入2,将打印第二的println的两倍,但我希望它是只打印一次,但用户只能放置2数字。
因此,例如,如果总氮2,学号只能放置10 - 99
回答:
从comment to question:
有人问我拿出所有的数字
假设数234567
的偶数位置是数字3
,5
的偶数位置,7
,你可以通过转换为字符串并提取这些字符很容易:
private static int[] getEveryOtherDigit(int n) { String s = Integer.toString(n);
int[] result = new int[s.length()/2];
for (int i = 1, j = 0; i < s.length(); i += 2, j++)
result[j] = s.charAt(i) - '0';
return result;
}
测试
System.out.println(Arrays.toString(getEveryOtherDigit(7))); System.out.println(Arrays.toString(getEveryOtherDigit(67)));
System.out.println(Arrays.toString(getEveryOtherDigit(567)));
System.out.println(Arrays.toString(getEveryOtherDigit(4567)));
System.out.println(Arrays.toString(getEveryOtherDigit(34567)));
System.out.println(Arrays.toString(getEveryOtherDigit(234567)));
输出
[] [7]
[6]
[5, 7]
[4, 6]
[3, 5, 7]
回答:
除非我失去了一些东西你的第二个打印才会被调用一次。请注意,您将需要添加一些输入验证,因为0是一个有效的int,因此在当前状态下,您的代码不会将用户限制为10-99。
一个更好的方法是让他们输入整个数字,然后将其拆分成代码(例如将其作为字符串分割并使用Integer.valueOf()
)。
回答:
最方便的方式来实现,这将是刚刚获得输入作为串并拆分它,然后将它们转换为int
这里是代码
System.out.println ("What is your Student number?"); String stuNum = scn.nextLine();
int [] number = new int[ stuNum.length() ];
for (int i = 0; i < stuNum.length(); i++) {
number[i] = Character.getNumericValue(stuNum.charAt(i));
}
System.out.println (number);
以上是 我该如何让用户输入一个int值并将它们拆分为单个数字并放入数组? 的全部内容, 来源链接: utcz.com/qa/259462.html