scanner sc = new scanner是什么意思

scanner sc = new scanner是什么意思,第1张

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() :

此扫描器执行当前行,并返回跳过的输入信息。

参考资料:

百度百科--Scanner 

//我给补全了,两个数值比较用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的方法调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9470728.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存