2017-05-24 10 views
-1

私は1つの総数とそれから入力した文字列を与えています。すべての出力を同時に印刷する方法

私のコードは次のとおりです。このコードで

public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     Scanner sc = new Scanner(System.in); 
     int tot = sc.nextInt(); 
     for(int i=0; i<r; i++){ 
      int L; 
      String str = sc.next(); 
      if(L == str.length()) { 
       print(str); 
      } 


     } 
    } 

private static void print(String str){ 
    System.out.println("String is "+ str); 
} 

私の文字列はちょうど私が入力を与えた後に印刷されます。

OutPut : 3 
"ABC" 
String is ABC 
"ABCD" 
String is ABCD 
"ABCDE" 
String is ABCDE 

しかし、私が望むのは、すべての入力を最初に取り、次に印刷します。

例:

OutPut : 3 
"ABC" 
"ABCD" 
"ABCDE" 

String is ABC 
String is ABCD 
String is ABCDE 

誰もが説明し、どのように私の文字列を変更するために私を助けてください。

注:私のアイデアはすべてのものすべてをスタックに入れていますが、誰に印刷するのかは分かりません。私は私の結果は、forループのbecasuseくるが、それを行うための簡単な方法がある一つのグローバルvairable

public static void main(String[] args) { 
String str=""; 
     // TODO Auto-generated method stub 
     Scanner sc = new Scanner(System.in); 
     int tot = sc.nextInt(); 
     for(int i=0; i<r; i++){ 
      str += sc.next(); 

     } 
print(str); 
    } 

private static void print(String str){ 
    System.out.println("String is "+ str); 
} 
+0

ここで、印刷方法は何ですか? –

+0

'string [] str'配列を使用し、この' str [i] = sc.next(); 'のようなvlauesを追加してください。あなたのループの後に 'print(str);'を呼び出すが、メソッドのパラメータを文字列配列に変更する。配列を繰り返して各値を出力する – XtremeBaumer

+1

@ΦXocę笑Пepeúpaツ私の質問を更新する –

答えて

1

からcomeoutする方法がわからないされて知っています。

使用StringBuilderのコード内で次のように:

... 
    StringBuilder sb = new StringBuilder(); 
    for(int i=0; i<r; i++){ 
      String str = sc.next(); 
      sb.append(str); 
    } 
    return/print sb.toString(); 
    ... 
+0

各文字列に対してprintメソッドを使うことができないその長さに対する条件。私は私の質問を更新する。もう一度見ていただけますか? –

+0

あなたは比較の前にLを初期化していませんでした。申し訳ありませんが、私はあなたのポイントを理解していませんでした –

+0

あなたはどこでもあなたが望むところでプリントを使うことができます –

1

内のすべてのテキスト保存すること

0

第一の事:forループの外に印刷方法を動かし、あなたは一度だけ入力が収集されるとことを行う必要があり、その後、Stringオブジェクトを使用します入力を追加して、各ループの反復の後に改行文字を使用することもできます。各ストリング ため、私は、その長さに対して一つの条件を確認していたので、私は、forループの外側の印刷方法を使用することができない

public static void main(String args[]) { 
    Scanner sc = new Scanner(System.in); 
    int tot = sc.nextInt(); 
    String str = ""; 
    for (int i = 0; i < tot; i++) { 
     str += "String is: "; 
     str += sc.next(); 
     str += "\n"; 
    } 
    print(str); 
    sc.close(); 
} 

private static void print(String str) { 
    System.out.println(str); 
} 
+0

forループの外でprintメソッドを使うことはできません。その長さに関して1つの条件をチェックする。私は私の質問を更新する。もう一度見ていただけますか? –

+0

正確に条件は何ですか? –

0

。 質問を更新します。あなたはもう一度見ていただけますか?

私はΦXocę 웃 Пepeúpa ツの回答を更新しました。 これがあなたを助けてくれることを願って。

public static void main(String args[]) 
{ 
    Scanner sc = new Scanner(System.in); 
    int tot = sc.nextInt(); 
    int counter = 0;//add a counter 
    String str = ""; 
    for (int i = 0; i < tot; i++) 
    { 
     counter++;//increment for for each input 
     str += "String is: "; 
     str += sc.next(); 
     str += "\n"; 
     if(counter == tot)//if tot ia equal to total number of intake then print 
     { 
      print(str); 
     } 
    } 
    sc.close(); 
} 
private static void print(String str) 
{ 
    System.out.println("String is "+ str); 
} 
+0

ありがとう@ゴクルあなたの答えを試してみましょう。 –

+0

どうすればいいのか教えてください.... –

関連する問題