簡體   English   中英

在I / O中使用Double.parseDouble()

[英]Using Double.parseDouble( ) within I/O

我正在嘗試編寫一個程序,該程序從用戶獲取一系列五個雙Double.parseDouble()字符串值,然后嘗試使用Double.parseDouble()方法將這些字符串轉換為雙Double.parseDouble() 我遇到的麻煩是我必須輸入兩個值,然后彈出下一個“ Please enter a number ”。 這是我得到的輸出:

Please enter a number 1: 4
3
Please enter a number 2: 5
4
Please enter a number 3: 3
4
Please enter a number 4: 5
6
Please enter a number 5: 4
2
The average is: 3.8 

這是我的代碼:

import java.io.*;
import java.util.Scanner;

public class theman {
    public static void main(String[] args) throws IOException{

    // Variables
        int counter;
        int userEntries = 5;
        double sum = 0;


        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);


    // Creating a new Scanner
        Scanner scanner = new Scanner(System.in);

    // Loop for the five entries    
        for (counter = 1; counter <= userEntries; counter++) {
            String input = "";
            System.out.print("Please enter a number " + counter + ": ");
            input = br.readLine();
            double number = Double.parseDouble(input);
            sum += scanner.nextDouble();
        }   

    // Print statements
        System.out.println("The average is: " + sum / userEntries);


    } // End of method header
} // End of class header

解決此問題的最佳方法是什么? 我假設這是因為sum += scanner.nextDouble(); 但是我需要增加它,所以我真的無法刪除它。

您已經擁有了double,因此無需使用Scanner.nextDouble() nextDouble()方法將輸入的下一個標記掃描為double。 您應該做的是sum += number

final int userEntries = 2;
Scanner in = new Scanner(System.in);
double sum = 0.0;

for (int counter = 1; counter <= userEntries; ++counter) {
    System.out.printf("Please enter a number %d: ", counter);
    sum += in.nextDouble();
}

System.out.printf("The average is: %.2f%n", sum / userEntries);

這是更新的代碼-

import java.io.*;
import java.util.Scanner;

public class theman {
    public static void main(String[] args) throws IOException{

    // Variables
    int counter;
    int userEntries = 5;
    double sum = 0;

    // Creating a new Scanner
    Scanner scanner = new Scanner(System.in);

    // Loop for the five entries
    for (counter = 1; counter <= userEntries; counter++) {
         System.out.print("Please enter a number " + counter + ": ");
         sum += scanner.nextDouble();
    }

    // Print statements
    System.out.println("The average is: " + sum / userEntries);


  } // End of method header
} // End of class header

暫無
暫無

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

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