关于java scanner类简化输入的一点疑问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java scanner类简化输入的一点疑问相关的知识,希望对你有一定的参考价值。

public static double nextDouble()

Scanner sc = new Scanner (System.in);
double d = sc.nextDouble();
return d;


public static String nextString()

Scanner sc = new Scanner (System.in);
String s = sc.nextLine();
return d;

由于每次调用nextString方法都会创建一个新的Scanner对象,因此在nextDouble方法后调用该方法没有问题
求大大们解释一下上面这句话,为什么nextString非要在nextDouble之后?
书上这句 nextDouble方法后调用nextString方法没有问题
让我有些费解 难道nextString方法写在nextDouble之前不可以吗?
求顺带解释一下nextLine这个方法

就看这句话是没有错的,scanner在这个两个方面内部都有自己创建,所以,你要解释的话是没错的。但是,竟然两个方法自己都有创建scanner对象,谁先谁后一点都没有什么影响
不知道你是否满意,否则补充问题
参考技术A 他们没有必然的联系啊。
只是写这段代码的人把他写成这种方式而已。。
你也可以把nextDouble写在后面嘛,没影响的
参考技术B nextString和nextDouble不分先后的,在它们之前都要new Scanner(System.in)。 参考技术C 你就不就是产生double类型和string类型么,分别是两个方法啊,没看见什么疑问的地方啊

关于自学java的内容及感受

这周自学了关于java输入的知识:java输入的方法与c++和c有些不同,他需要在开头加一个import连接系统的包,才能进行输入语句的编写。

自己编写了一点简单的输入的程序:

package mode2;
import java.util.Scanner;
//import java.util.Scanner;
public class mode2
//public static void main(String[] args)
// Scanner nb = new Scanner(System.in);
// System.out.println("请输入数值:");
// int i = nb.nextInt();
// System.out.println(i);
// nb.close();
//
public static void main(String[] args)
Scanner a = new Scanner(System.in);
System.out.println("请输入你k的值:");
int k = a.nextInt();
for(int i=0;i<k;i++)
System.out.println("hello world");
a.close();


假期已经马上结束了,关于java也有了初步的认识。开学之后会努力学习!

以上是关于关于java scanner类简化输入的一点疑问的主要内容,如果未能解决你的问题,请参考以下文章

关于java的scanner类

java 中的Scanner

[转] Java:对Scanner的useDelimiter()方法的疑问

Java的输入和输出遇到的一点问题

关于JAVA匿名内部类,回调,事件模式的一点讨论

scanner