【java基础】怎样结束控制台输入
2017-10-09 22:15
447 查看
当使用Scanner(System.in)获取控制台输入时,一般都是以这样的方式,举一个例子,如
当控制台输入不是"-"时,就将其压入栈中,当输入为"-",栈不为空则弹出。
其中的while(in.hasNext())永远为真,最后的语句永远无法执行。
import java.util.Scanner;
import java.util.Stack;
public class InTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Stack<String> s = new Stack<String>();
while(in.hasNext()){// in.hasNext()永远为真
String str = in.nextLine();
if(!str.equals("-"))
s.push(str);
else if(!s.isEmpty())
System.out.println(s.pop() + " ");
}
// 这个语句永远无法执行
System.out.println("(" + s.size() + "left on stack)");
}
}
怎样结束控制台的输入呢?可以通过判断in.hasNext()是否为真,使用hasNext()方法的带参数的重载方法。
import java.util.Scanner;
import java.util.Stack;
public class InTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Stack<String> s = new Stack<String>();
while(!in.hasNext("eof")){// 通过判断in.hasNext()的参数
String str = in.nextLine();
if(!str.equals("-"))
s.push(str);
else if(!s.isEmpty())
System.out.println(s.pop() + " ");
}
System.out.println("(" + s.size() + "left on stack)");
}
}当输入为字符串eof时,则停止控制台的输入。
当控制台输入不是"-"时,就将其压入栈中,当输入为"-",栈不为空则弹出。
其中的while(in.hasNext())永远为真,最后的语句永远无法执行。
import java.util.Scanner;
import java.util.Stack;
public class InTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Stack<String> s = new Stack<String>();
while(in.hasNext()){// in.hasNext()永远为真
String str = in.nextLine();
if(!str.equals("-"))
s.push(str);
else if(!s.isEmpty())
System.out.println(s.pop() + " ");
}
// 这个语句永远无法执行
System.out.println("(" + s.size() + "left on stack)");
}
}
怎样结束控制台的输入呢?可以通过判断in.hasNext()是否为真,使用hasNext()方法的带参数的重载方法。
import java.util.Scanner;
import java.util.Stack;
public class InTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Stack<String> s = new Stack<String>();
while(!in.hasNext("eof")){// 通过判断in.hasNext()的参数
String str = in.nextLine();
if(!str.equals("-"))
s.push(str);
else if(!s.isEmpty())
System.out.println(s.pop() + " ");
}
System.out.println("(" + s.size() + "left on stack)");
}
}当输入为字符串eof时,则停止控制台的输入。
相关文章推荐
- java基础_从控制台输入年份月份,打印该月有多少天
- java中从控制台输入多行数据 按回车键输入空行结束
- 老紫竹JAVA基础培训(9),控制台键盘输入(System.in)
- java中从控制台输入多行数据 按回车键输入空行结束
- Java基础强化训练输入错误即结束进程
- Java语言基础—— 在控制台输入
- Java基础——从键盘(控制台)输入字符串(数据)的几种方式详解
- java基础之IO流中实现对键盘和控制台的输入和输出以及写到文本文件
- java学习笔记#从控制台输入整数,输出最大最小值,直到输入0结束
- 编程技巧系列(7)java中从控制台输入多行数据 按回车键输入空行结束
- java 获取控制台的输入的两个方法
- 小朋友学Java(13):控制台输入
- java线程基础巩固---Thread中断Interrupt方法学习&采用优雅的方式结束线程生命周期
- Java控制台输入密码,不回显
- Java做acm所需要的基础知识之基本输入输出问题
- java 在控制台上输入密码时,密码不显示在控制台上
- java例程练习(控制台参数与基础数据类型的包装类)
- java中获取从控制台输入的内容
- Java 控制台读取输入并过滤特定字符
- Java基础编程之输入两个正整数m和n,求其最大公约数和最小公倍数。