java.util.Scanner s = new java.util.Scanner();
在java中,申明了以上指令,就可以使用
int num = s.nextInt();
String sents = s.next();
这样的语句来为变量动态赋值。
注意:java中,s.next()方法和C中的scanf(" “, &)极其相似。在动态输入的过程中,空字符会将输入流自然地隔断,s.next()与scanf(” ", &)在抓取留中的数据时,一次只读取一个单元,单元可以是数字,字符,字符串。完整的输入流被(空格符–’ ‘,回车符–’\n’ ,制表符–’\t’.)切割成单元。当读取但预设的个数时,遇到’\n’,程序运行下一条指令,即停止动态输入,类型不匹配时,即报错,报错如下:
public class FuXi{
public static void main(String[] args){
System.out.println("======================");
System.out.println("Please enter a number:");
java.util.Scanner s = new java.util.Scanner(System.in);
String juZi = s.next();
int num = s.nextInt();
System.out.println("sentense is"+juZi+"number is"+num);
}
}
s.next();会自动在输入流获取下一个单元,如果上一次输入的是用空白符隔开的两个单元,则不等待输入,直接获取下一个单元。演示如下:
public class FuXi{
public static void main(String[] args){
System.out.println("======================");
System.out.println("Please enter a number:");
java.util.Scanner s = new java.util.Scanner(System.in);
int num = s.nextInt();
System.out.println("The number is "+num);
System.out.println("======================");
String juZi = s.next();
System.out.println("The sentense is "+juZi);
}
}