0

也许我的 google-fu 很糟糕,但我很难弄清楚如何做到这一点。我试图让扫描仪读取字符串、添加输入并返回一个值。我觉得我只是错过了一些东西......例如,我不确定如何将变量设置为扫描仪中的第一个双精度值。

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")));
  }
}
4

2 回答 2

3

你真的不需要一个i变量。

而且,如前所述,没有 2 Scanner

public static double sum(Scanner input){
  double sumAnswer = 0;
  while (input.hasNext()){
    sumAnswer += input.nextDouble();
  }
  return sumAnswer;
}
于 2013-09-18T19:11:14.583 回答
0

通过输入后,您不应该重置扫描仪。

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;
}

这应该对你更好,也许。我也可以在那里混合一些东西......

于 2013-09-18T19:07:51.173 回答