2015-10-21 61 views
1

我需要能夠完成此程序。上完課後我完全失去了知識。我需要能夠輸出到txt文件的總數,百分比,最高,最低和等級。我有它可以輸入給我的5個分數,但其餘的都不起作用。我完全迷失了,不知道我需要從哪裏走。我可以使用循環,但沒有必要。使用用戶輸入計算分數

import java.util.Scanner; 

public class BenefieldProgram4 { 

public static void main(String[ ] args) { 
     Scanner keyboard = new Scanner(System.in); 
     System.out.println("Enter 5 Grades:"); 
     System.out.println(""); 
     keyboard.nextDouble(); 
     double a, b, c, d, e; //5 Grades 
     double sum = 0;  // total 
     double avg;  // percentage 
     double min = 1; // lowest grade 
     double max = 100; // highest grade 

     //Calculations 
     a = keyboard.nextDouble(); 
     b = keyboard.nextDouble(); 
     c = keyboard.nextDouble(); 
     d = keyboard.nextDouble(); 
     e = keyboard.nextDouble(); 
     keyboard.close(); 

     sum = (a+b+c+d+e); 
     System.out.println("Total Score=:"+sum); 

     avg =(a+b+c+d+e)/500; 
     System.out.println("Percentage =: "+avg); 

     max = Double.MAX_VALUE; 
     System.out.println("Highest Score= " +max); 

     min = Double.MIN_VALUE; 
     System.out.println("Lowest Score= " +min); 

     if (avg >= 90) 
      System.out.println("Grade= A"); 
      else if (avg >=80) 
      System.out.println("Grade= B"); 
      else if (avg >= 70) 
      System.out.println("Grade= C"); 
      else if (avg >= 60) 
      System.out.println("Grade= D"); 
      else 
      System.out.println("Grade= F"); 
      } 
} 
} 

編輯

+0

好的,所以你現在要做的就是寫入一個文件? – AbtPst

+0

你能重新格式化你的代碼嗎?選擇它並按下CTRL + K。你可以在你的'if'' else if塊上修改縮進嗎?我正在編輯你的文章,但我不想無意中添加那些不在那裏的東西。 – Arc676

+0

那麼現在你只需要寫一個文本文件?但是我也看到,當你說你只想閱讀'5'檔 – 3kings

回答

3

怎麼樣

// The name of the file to open. 
     String fileName = "temp.txt"; 

     try { 
      // Assume default encoding. 
      FileWriter fileWriter = 
       new FileWriter(fileName); 

      // Always wrap FileWriter in BufferedWriter. 
      BufferedWriter bufferedWriter = 
       new BufferedWriter(fileWriter); 

      // Note that write() does not automatically 
      // append a newline character. 
      bufferedWriter.write("Hello there,"); 
      bufferedWriter.write(" here is some text."); 
      bufferedWriter.newLine(); 
      bufferedWriter.write("We are writing"); 
      bufferedWriter.write(" the text to the file."); 

      // Always close files. 
      bufferedWriter.close(); 
     } 
     catch(IOException ex) { 
      System.out.println(
       "Error writing to file '" 
       + fileName + "'"); 
      // Or we could just do this: 
      // ex.printStackTrace(); 
     } 
    } 

,只是寫任何你想要的。

1

這是你在找什麼;)

Scanner keyboard = new Scanner(System.in); 
    System.out.println("Enter 5 Grades:"); 
    System.out.println(""); 

    FileWriter fw = new FileWriter("/var/tmp/test.txt"); 
    BufferedWriter bw = new BufferedWriter(fw); 
    bw.newLine(); 

    double a, b, c, d, e; //5 Grades 
    double sum = 0;  // total 
    double avg;  // percentage 
    double min = 1; // lowest grade 
    double max = 100; // highest grade 

    //Calculations 
    a = keyboard.nextDouble(); 
    b = keyboard.nextDouble(); 
    c = keyboard.nextDouble(); 
    d = keyboard.nextDouble(); 
    e = keyboard.nextDouble(); 
    keyboard.close(); 

    ArrayList<Double> list = new ArrayList<>(); 
    list.add(a); 
    list.add(b); 
    list.add(c); 
    list.add(d); 
    list.add(e); 
    sum = (a+b+c+d+e); 
    System.out.println("Total Score=:"+sum); 
    bw.append("Total Score=:"+sum); 
    bw.newLine(); 
    avg =(a+b+c+d+e)/5; 
    System.out.println("Percentage =: "+avg); 
    bw.append("Percentage =: "+avg); 
    bw.newLine(); 
    max = Collections.max(list); 
    System.out.println("Highest Score= " +max); 
    bw.append("Highest Score= " +max); 
    bw.newLine(); 
    min = Collections.min(list); 
    System.out.println("Lowest Score= " +min); 
    bw.append("Lowest Score= " +min); 
    bw.newLine(); 
    if (avg >= 90){ 
     System.out.println("Grade= A"); 
     bw.append("Grade= A"); 
     bw.newLine(); 
    } 
     else if (avg >=80){ 
     System.out.println("Grade= B"); 
     bw.append("Grade= B"); 
     bw.newLine(); 
     } 
     else if (avg >= 70){ 
     System.out.println("Grade= C"); 
     bw.append("Grade= C"); 
     bw.newLine(); 
     } 
     else if (avg >= 60){ 
     System.out.println("Grade= D"); 
     bw.append("Grade= D"); 
     bw.newLine(); 
     } 
     else { 
     System.out.println("Grade= F"); 
     bw.append("Grade= F"); 
     bw.newLine(); 
     } 
    bw.close(); 
+1

這不是OP所要求的。 – jgabb

+0

哦!我的錯。 – Shivam

+0

我編輯了代碼,可能會有所幫助。 – Shivam

0

你可以使用PrintWriter

try { 

    PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8"); 
    writer.println("The first line"); 
    writer.println("The second line"); 
    writer.close(); 
} 
catch(IOException ex) { 
    System.out.println("Error writing to file"); 
} 

基本上只是把任何你想要把你的文件中writer.println()聲明。