4个回答
展开全部
一般用Scanner in = new Scanner(System.in);来获取控制台输入,in.hasNext()判断控制台是否输入内容。
例如下面的代码表示始终检测控制台是否有输入数字,然后打印。这种情况一般是按Ctrl+Z表示推出控制台输入。
while (in.hasNext()) {
int n = in.nextInt();
System.out.println(n);
}
另外也可以人为判断是否输入结束,比如获取输入的字符串,判断是否为换行\n(或者其他指定字符或字符串等)来结束输入。
还有一些ACM题目中,类似你这样的,一般会先要求输入一个数字表述接下来的输入次数,这些都是可以作为输入结束的判断依据的。
展开全部
设置一个结尾标识符就行了。我觉得题目的难点不在于这个,因为正常的话System.in是个输入流,它除了键盘输入没有其他办法写入数据,因此我觉得题目的意思是需要你采用System.SetIn()重定向标准输入,让指定的(文件)输入流成为标准输入
Java code?
public static void main(String[] args) {
InputStream inputStream;
try {
inputStream = new FileInputStream("D:/aa.txt");
System.setIn(inputStream);
Scanner scanner=new Scanner(System.in);
while (scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
Java code?
public static void main(String[] args) {
InputStream inputStream;
try {
inputStream = new FileInputStream("D:/aa.txt");
System.setIn(inputStream);
Scanner scanner=new Scanner(System.in);
while (scanner.hasNext()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
HDOJ的是吗?
public class Main{
public static void main(String ...args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String line = sc.nextLine();
//Other code
System.out.println("....");
}
sc.close();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用循环啊,只循环N次,输入N个就结束了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询