2009-07-14 1 views
1

この最初の割り当てでは、ユーザーにいくつかの番号(例:312)を入力させ、各番号を追加して次のように出力する必要があります。 2の合計は6です。ここで、コードは次のとおりです。それがどのようにSO NEW LINEは、入力用に配置されていない私が持っているBufferedReaderメソッドを使用してJavaを使用してユーザー入力を取得するときの新しい行を削除する

Please enter a non-negative integer: 
312 
The numbers are 3 1 2 with the sum of 6 
BUILD SUCCESSFUL (total time: 7 seconds) 

:312

ここ
public static void main(String[] args) { 
    int Max_Size = 30; 
    char[] myArray = new char [Max_Size]; 
    String temp = " "; 
    char parse; 
    int sum = 0; 
    int counter = 0; 
    System.out.print("Please enter a non-negative integer: "); 

    try{ 
     BufferedReader dataIn = new BufferedReader(
       new InputStreamReader(System.in)); 
     temp = dataIn.readLine(); 
    } catch (IOException e) { 
     System.out.println("Error!"); 
    } 

    System.out.print("The numbers are "); 
    //put each character of the string into a char array 
    for (int i = 0; i < temp.length(); i++){ 
    myArray[i] = temp.charAt(i); 
     System.out.print(myArray[i] + " "); 
    } 
    //take sum of each character as an integer 
    while (counter != temp.length()){ 
     sum = sum + (myArray[counter] - '0'); 
     counter++; 
    } 
    System.out.println("with the sum of " + sum); 
} 

は、サンプルの実行ですか?意味私はそれが同じ行に312と、 "非負の整数を入力してください:312"のようにそれが欲しいです。また、入力を解析して整数にする方が良いでしょうか?

+0

私は10年以上もJavaをやってきましたが、私はすぐに答えを知ることができないので、これは興味深いものです!良い質問。 –

答えて

3

あなたはそれを見ている理由を私は知らない - 私はちょうどそれを試してみましたが、この出力を得てきました:

Please enter a non-negative integer: 312 
The numbers are 3 1 2 with the sum of 6 

あなたが実行しているどのようなプラットフォーム?

私ははあなただけcharAt()を使用することができたときにchar配列の使用はやや無意味であることを言うでしょう、そしてあなたが本当に私はString.toCharArrayを使用したい、char型の配列への入力を変換したいならば()を代わりに使用します。あなたは、Java 1.6を使用している場合

また、私がお勧めしたい:ユーザーからのテキストの行を読み取る簡単な方法として

String temp = System.console().readLine(); 

を。

+0

私はUbuntuでNetbeansを使用していました。ありがとう!! – dirtyblankets

+1

console()についてのヒント:nullを返すことができ、Eclipse内から自分のコードを実行するときに頻繁にそれを行います - 迷惑です。 – akarnokd

+0

あなたは正しいですね!それはコードの8行のように完全に切り取った! – dirtyblankets

0

これは、NetBeansコンソールや、Ant/Maven(おそらくNetBeansのもの)を介してこれを実行しているようだと思われます。

(私は最後に"BUILD SUCCESSFUL (total time: 7 seconds)"のためにAnt/Mavenを想定しています)。