簡體   English   中英

掃描儀無法使用While循環

[英]Scanner not working with while loop

也許我的google-fu太糟糕了,但是我很難弄清楚該怎么做。 我正在嘗試讓掃描儀讀取字符串,添加輸入並返回值。 我覺得我只是缺少一些東西...例如,我不確定如何將變量設置為掃描儀中的第一個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")));
  }
}

您實際上不需要i變量。

並且,如前所述,沒有2個Scanner

public static double sum(Scanner input){
  double sumAnswer = 0;
  while (input.hasNext()){
    sumAnswer += input.nextDouble();
  }
  return sumAnswer;
}

通過輸入后,您不應該重置掃描儀。

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

也許這應該對您更好。 我也可以在上面混一些東西...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM