2017-09-28 95 views
-3

我試圖加2點的整數在一起,打印出來的結果,一個任務上CS Academy。我使用BufferReader讀取整數結果,並使用增強型for循環將值放入A & B;但是,它只是提供了一個空白的結果。如何修復增強型for循環和閱讀器? https://csacademy.com/contest/archive/task/addition/的Java:添加2號與BufferReader,不工作的CS學院

-

任務: 現在給你兩個整數值A和B,計算並輸出其總和。

標準輸入 第一行包含兩個整數A和B.

標準輸出 輸出表示A的總和和B.


import java.util.*; 
    import java.lang.*; 
    import java.io.*; 

    class Main { 
     public static void main (String[] args) throws java.lang.Exception { 
      int A, B; 
      A =0; B =0; 

     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     System.out.print("Enter Integer:"); 
      int i = Integer.parseInt(br.readLine()); 

     int[] values = new int[i]; 
      for(int value: values) { 
      A=value[0]; 
      B=value[1]; 
      } 
     System.out.println(A + B); 

     } 
    } 
+0

目前尚不清楚您的目標是什麼。你能描述一個樣本輸入和預期輸出嗎?直到那時纔回答你的問題。 – VHS

+0

輸入:2 3.預期輸出:5 – ComputerGuy123

+0

有作爲「加入2號與'BufferedReader'」這樣的東西。嘗試描述你的正確。它也會迫使你清楚地思考*關於它。 – EJP

回答

0

你的程序沒有按一個單一的數字不工作,因爲首先你只讀一個數字而不是兩個。其次,你正在添加兩個數字,它們被初始化爲0,但從來沒有得到任何其他值。您希望用戶輸入由空格分隔的兩個數字。因此,您需要將輸入字符串(「10 15」)分隔一個空格,然後將每個單獨的字符串視爲一個數字,然後對其進行總結。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
System.out.print("Enter Integer:"); 
String[] str = br.readLine().split(" ", 2); 
System.out.println("Sum is " + (Integer.parseInt(str[0]) + Integer.parseInt(str[1]))); 
br.close(); 
+0

你的方法適用於簡單的數字,但是當你輸入:366 789.它不起作用,也不能很好地分析底片。 – ComputerGuy123

+0

@ ComputerGuy123,那是不對的。它適用於你描述的兩種情況。只需運行我提供的代碼片段即可。 – VHS

+0

我收到以下錯誤:線程「main」java.lang.NumberFormatException中的異常:對於輸入字符串:「883198518」 \t at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) \t at java.lang。的Integer.parseInt(Integer.java:580) \t在java.lang.Integer.parseInt(Integer.java:615) \t在Main.main(Main.java:41) – ComputerGuy123