我已经生成了一个代码,它可以获得4个输入并计算所有输入的平方根。
int i;
System.out.print("print numbers here:");
int[] arr = new int[4];
Scanner in = new Scanner(System.in);
for (i = 0; i < arr.length; i++ ){
arr[i] = in.nextInt();
}
for (i = arr.length; i > 0; --i){
double s =Math.sqrt(arr[i-1]);
System.out.println(s);
}
这里是main方法的代码,但我仍需要添加的一个重要部分是获取带空格和换行符的用户输入。所以,例如
1427 0
876652098643267843
5276538
1427是第一个数字,0是第二个等等。我是java和编程的新手,我不知道如果可以,请帮忙。 提前谢谢!!
答案 0 :(得分:1)
将nextInt()
来电替换为next()
。这将检索下一个单词,空格字符作为分隔符(换行符和空格)。这将允许任意数量的空格,空行等。
示例强>:
System.out.print("print numbers here:");
int[] arr = new int[4];
Scanner in = new Scanner(System.in);
for (int i = 0; i < arr.length; i++){
int num;
try {
num = Integer.parseInt(in.next()); // get input
} catch (NumberFormatException e) {
// invalid number
}
arr[i] = num;
}
for (int i = arr.length; i > 0; i--) {
double s = Math.sqrt(arr[i-1]);
System.out.println(s);
} // this is printing the square roots in reverse order, you may want to change
// that to avoid confusion
答案 1 :(得分:0)
如果要用空格字符(空格和换行符)拆分答案,请尝试使用Java中的.split函数。在您的情况下,您将从用户收到的输入作为字符串,然后执行以下操作:
String[] inputVariables = string.split("\\s");
(注意\ s表示所有空格字符和&#34;字符串&#34;是您收到的输入) 现在您有一个从用户收到的输入的String数组。然后你可以在每个String上使用Integer.parseInt将它们从字符串转换为整数,现在你已经准备好了四个整数来进行平方根化。
答案 2 :(得分:0)
你可以尝试这样的事情
for (i = 0; i < arr.length; i++ ){
try{
String []nos = in.nextLine().split("\\s+");
if(nos.length > 0)
{
for(String no:nos)
arr[i] = Integer.parseInt(no);
}else{
arr[i] = Integer.parseInt(in.nextLine());
}
}catch(Exception e){
i--;
}
}