如何同时打印所有输出

时间:2017-05-24 07:07:32

标签: java string

我从输入中得到一个总数和那么多字符串。

我的代码是:

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

任何人都可以解释并帮助我修改我的字符串。

注意:我的想法是把所有东西都堆叠起来但又不知道打印谁。我知道我的结果是因为循环但不确定如何从那个

出来

4 个答案:

答案 0 :(得分:1)

将所有文字保存在一个全球可用的

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);
}

答案 1 :(得分:1)

有简单的方法可以做到。

在代码中使用StringBuilder:

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

答案 2 :(得分:0)

第一件事:将打印方法移出for循环,只需在收集输入后执行一次,然后使用String对象并附加输入,可以在每次循环迭代后使用换行符

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);
}

答案 3 :(得分:0)

  

我不能在for循环外使用print方法,因为对于每个字符串   我正在检查一个与其长度有关的条件。我更新了我的   题。你能再看看吗

因为您已经问过我已更新Φ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);
}