Sanner sc = new Scanner(Systemin)意思就是得到一个标准的输入流,并创建一个新的基于输入流的对象。
scnextDouble();等待输入一个double类型的数值。
当通过new Scanner(Systemin)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。
java工作原理:
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了Java API)中的方法来访问资源系统。
把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与 *** 作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
使用该类创建一个对象
Scanner Sc=new Scanner(Systemin);
然后Sc对象调用下列方法(函数),读取用户在命令行输入的各种数据类型: nextByte(),nextDouble(),nextFloat,nextInt(),nextLin(),nextLong(),nextShot() 。这些方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认。
例如,拥护在键盘输入1234,hasNextFloat()的值是true,而hasNextInt()的值是false。NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据。
例子代码:
执行结果:
扩展资料:
Scanner的构造器支持多种方式,可以从字符串(Readable)、输入流、文件等等来直接构建Scanner对象,有了Scanner了,就可以逐段(根据正则分隔式)来扫描整个文本,并对扫描后的结果做想要的处理。
下面是一些API函数的用法:
delimiter():
返回此 Scanner 当前正在用于匹配分隔符的 Pattern。
hasNext() :
判断扫描器中当前扫描位置后是否还存在下一段。
hasNextLine() :
如果在此扫描器的输入中存在另一行,则返回 true。
next() :
查找并返回来自此扫描器的下一个完整标记。
nextLine() :
此扫描器执行当前行,并返回跳过的输入信息。
参考资料:
//我给补全了,两个数值比较用Math类的max(double,double)方法
import javautilScanner;
public class CompareTwoNumbers1 {
double number1, number2;
Scanner scanner;
public CompareTwoNumbers1() {
Systemoutprintln("请输入两个数字:");
scanner = new Scanner(Systemin);// 实例化一个Scanner对象;
number1 = scannernextDouble(); // 从键盘输入一个整数赋值给number1;
number2 = scannernextDouble();// 从键盘输入一个整数赋值给number2;
Systemoutprintln("较大的数值是:" + Mathmax(number1, number2));// 将number1和number2中较大值输出;
}
public static void main(String args[]) {
CompareTwoNumbers1 ct = new CompareTwoNumbers1();
Systemexit(0);
}
}
*** 作方法
01
首先,创建一个class

02
创建一个main方法,
导入javautilScanner(一定要写在package下面!!!)

03
输入以下代码,注释部分详细说明了每一行代码的用途。
package comTest;
import javautilScanner;
public class MyClass {
public static void main(String arg[]){
Systemoutprintln("请输入学科"); //输出文字。
Scanner scanner=new Scanner(Systemin); //创建scanner对象,注意创建时一定要在包名下面导入javautilScanner
String xueke=scannernext(); //创建string变量xueke,用来存放汉字,注意一定要用next
Systemoutprintln("请输入成绩"); //输出文字。
int chengji=scannernextInt(); //创建int变量chengji,用来存放数字,注意一定要用nextint
Systemoutprintln("你的"+xueke+"成绩是"+chengji+"分"); //最后输出
}
Scanner是新增的一个简易文本扫描器,在 JDK 50之前,是没有的。查看最新在线文档:
1 public final class Scanner
2 extends Object
3 implements Iterator<String>, Closeable
可见,Scanner是没有子类的。
在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:
构造方法:
1 public Scanner(File source) throws FileNotFoundException
2 public Scanner(String source)
3 public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象
方法:
1 public void close() //关闭
2 public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代
3 public boolean hasNext() //检测输入中,是否,还有单词
4 public String next() //读取下一个单词,默认把空格作为分隔符
5 public String nextLine() //读行
6 注释:从hasNext(),next()繁衍了大量的同名不同参方法,这里不一一列出,感兴趣的,可以查看API
以下一个综合例子:
1 package comringcentralutil;
2 import javautil;
3 import javaio;
4 /
5 author @dylan
6 date @2012-5-27
7 /
8 public class ScannerTest {
9 public static void main(String[] args) {
10 file_str(true);
11 reg_str();
12 }
13 /
14
15 @param flag : boolean
16 /
17 public static void file_str(boolean flag){
18 String text1= "last summber ,I went to the italy";
19 //扫描本文件,url是文件的路径
20 String url = "E:\\Program Files\\C _ Code\\coreJava\\src\\com\\ringcentral\\util\\ScannerTestjava";
21 File file_one = new File(url);
22 Scanner sc= null;
23 /
24 增加一个if语句,通过flag这个参数来决定使用那个构造方法。
25 flag = true :输入结果为本文件的内容。
26 flag = false :输入结果为 text1的值。
27 /
28 if(flag){
29 try {
30 sc =new Scanner(file_one);
31 } catch (FileNotFoundException e) {
32 eprintStackTrace();
33 }
34 }else{
35 sc=new Scanner(text1);
36 }
37 while(schasNext())
38 Systemoutprintln(scnextLine());
39 //记得要关闭
40 scclose();
41 }
42 public static void reg_str(){
43 String text1= "last summber 23 ,I went to 555 the italy 4 ";
44 //如果你只想输入数字:23,555,4;可以设置分隔模式,把非数字进行过滤。
45 Scanner sc = new Scanner(text1)useDelimiter("\\D\\s");
46 while(schasNext()){
47 Systemoutprintln(scnext());
48 }
49 scclose();
50 }
51
52 }
53
1 public static void input_str(){
2 Scanner sc = new Scanner(Systemin);
3 Systemoutprintln(scnextLine());
4 scclose();
5 Systemexit(0);
6 }
以上就是关于scanner sc = new scanner是什么意思全部的内容,包括:scanner sc = new scanner是什么意思、java中怎么用scanner、java中Scanner的方法调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)