[英]Scanner not working with while loop
Maybe my google-fu is just terrible, but I'm having a very hard time figuring out how to do this. 也许我的google-fu太糟糕了,但是我很难弄清楚该怎么做。 I'm trying to get a scanner to read a string, add the inputs, and return a value.
我正在尝试让扫描仪读取字符串,添加输入并返回值。 I feel like I am just missing something... for example, I'm not sure how to get a variable set to the first double in the scanner.
我觉得我只是缺少一些东西...例如,我不确定如何将变量设置为扫描仪中的第一个double。
import java.util.Scanner;
public class adding {
public static double sum(Scanner input){
Scanner s=new Scanner (System.in);
double i = (s.nextDouble());
double sumAnswer = 0;
while (s.hasNext()){
sumAnswer = sumAnswer + i;
i = s.nextDouble();
}
return sumAnswer;
}
public static void main(String[] args){
System.out.println(sum(new Scanner("1.2 2.8 3.9")));
}
}
You don't really need an i
variable. 您实际上不需要
i
变量。
And, as already mentioned, don't have 2 Scanner
's. 并且,如前所述,没有2个
Scanner
。
public static double sum(Scanner input){
double sumAnswer = 0;
while (input.hasNext()){
sumAnswer += input.nextDouble();
}
return sumAnswer;
}
You shouldn't be resetting the scanner after passing the input. 通过输入后,您不应该重置扫描仪。
public class adding {
public static double sum(Scanner input){
double i = (input.nextDouble());
double sumAnswer = 0;
while (input.hasNext()){
sumAnswer = sumAnswer + i;
i = input.nextDouble();
}
return sumAnswer;
}
That ought to work better for you, maybe. 也许这应该对您更好。 I could also be mixing something up there...
我也可以在上面混一些东西...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.