如何一次打印x行数

时间:2015-07-08 07:41:09

标签: java events printing

我有一个程序打印存储在arraylist中的对象的实例变量。 我想为这个程序添加一个功能,所以它只打印前10个对象的实例变量,然后让用户按Enter继续,然后继续接下来的10个对象,依此类推。

这是一个如何在没有我要求的功能的情况下打印循环的示例:

  for (int i = 0; i < myList.size(); i++)
  {
    System.out.println(myList.get(i).getName();
  }

&#34;按Enter继续&#34;部分很容易:

import java.util.*;
...
Scanner input = new Scanner(System.in);
input.nextLine()

但是如何创建一个条件循环,在10次打印后停止,然后在&#34之后恢复;按Enter继续&#34;事件??

5 个答案:

答案 0 :(得分:3)

for (int i = 0; i < myList.size(); i++)
  {
    System.out.println(myList.get(i).getName();
    if(i % 10 == 0){
         input.nextLine()
    }
  }

答案 1 :(得分:2)

您可以使用System.in.read(),它会读取一个字符,因此当用户按任意键时,它会继续。

  

其他明智的等待用户输入。

for (int i = 0; i < myList.size(); i++)
  {
    System.out.println(myList.get(i).getName();
    if(i % 10 == 0){
         System.out.println("Press any key to continue!");
         char ch = (char) System.in.read();
    }
  }

答案 2 :(得分:1)

试试这段代码:

for(int index = 0; i <myList.size(); i++){

         /*check if it has printed 10 times first or else, it'll be printed 11 times first*/
         if( i % 10 == 0 && i!=0 ){
             System.out.println("Press enter to continue...");
             //Prompt the user of course... 
             input.nextLine();
         }
         System.out.println(myList.get(i).getName());
}

如上面代码中所述,您需要检查它是否先打印10次。 @ bmscomp的代码如果有超过10个条目可能有错误。

答案 3 :(得分:0)

我决定采用自己的方法。 我希望我可以给每个人一个答案,因为我的建议是他们所有人的组合:

for (int i = 0; i < myList.size(); i++)
{
  if(i % 10 == 0 && i != 0){
    System.out.println("Press enter to continue...");
    input.nextLine();
  }
  System.out.println(myList.get(i).getName());
}

将打印放在if语句之外更有意义。 现在它第一次正确打印10个语句而不是11个。

答案 4 :(得分:-1)

我相信您可以更好地了解接收用户输入时应采取的措施。 请尝试以下方法: - `

import java.util.Scanner;

public class GetInputFromUser {

public static void main(String args[]) {
    int a;
    float b;
    String s;

    Scanner in = new Scanner(System.in);

    System.out.println("Enter a string");
    s = in.nextLine();
    System.out.println("You entered string " + s);

    System.out.println("Enter an integer");
    a = in.nextInt();
    System.out.println("You entered integer " + a);

    System.out.println("Enter a float");
    b = in.nextFloat();
    System.out.println("You entered float " + b);
}
}