我正在写一个java程序,并尝试在屏幕上打印一个数组列表元素。但是我想一次打印一个,然后等待用户按Enter键来打印下一个。我应该如何修改下面的代码?
import java.util.*
public class printonscreen{
public static void main(String args[]){
ArrayList<Integer> test = new ArrayList<Integer>();
test.add(0);
test.add(1);
test.add(2);
test.add(4);
for(int i=0; i<test.size(); i++){
System.out.print(test.get(i));
// wait user press enter
}
}
}
通常如何等待用户输入?如果你不知道,它是Scanner
。Scanner
类的nextLine()
(instance)方法可以暂时阻塞正在运行的线程,在控制台中等待用户输入。
所以你应该这样做:
import java.util.*
public class printonscreen{
public static void main(String args[]){
ArrayList<Integer> test = new ArrayList<Integer>();
test.add(0);
test.add(1);
test.add(2);
test.add(4);
Scanner s = new Scanner (System.in);
for(int i=0; i<test.size(); i++){
System.out.print(test.get(i));
// wait user press enter
s.nextLine();
}
}
}
参见nextLine()
部分?
可以这样使用JOptionPane:
import java.util.*
public class printonscreen{
public static void main(String args[]){
ArrayList<Integer> test = new ArrayList<Integer>();
test.add(0);
test.add(1);
test.add(2);
test.add(4);
for(int i=0; i<test.size(); i++){
System.out.print(test.get(i));
JOptionPane.showMessageDialog(null, "Press Ok to continue", "Alert", JOptionPane.ERROR_MESSAGE);
}
}
}
您可以通过更改属性JOptionPane.ERROR_MESSAGE
有五种风格:
- ERROR_MESSAGE
- INFORMATION_MESSAGE
- WARNING_MESSAGE
- QUESTION_MESSAGE
- PLAIN_MESSAGE
尝试:
System.in.read()
在for循环的打印行之后
看看是否有效:
import java.util.*;
public class printonscreen{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
ArrayList<Integer> test = new ArrayList<Integer>();
test.add(0);
test.add(1);
test.add(2);
test.add(4);
for(int i:test ){
System.out.print(i);
sc.nextLine(); // wait user to press enter
}
}