Scanner字符结合计算机完成人工计算机交互
next()
1、一定要读取到有效的字符才会结束,以空白值为结束符
2、在读取字符的时候如果遇到空格符号的时候回结束执行
3、只能输入有效的字符串之后才能够将后面的空格符号执行结束
4、next()不能够的带带有空格的字符串
package package03;
import java.util.Scanner;
public class ScannerTest1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("欢迎使用next()的方式输出!");
if(scanner.hasNext()){
String string=scanner.next();
System.out.println("输出的next()相关结果为:"+string);
}
scanner.close();
}
}
如果在输入的时候加了空格符号为hello world那么打印出来的就只有hello
nextLine()
1、会以enter键作为结束,也就是说在回车键之前的任何字符都会读取出来
2、可以获取空白的字符
package package03;
import java.util.Scanner;
public class ScannerTest2 {
public static void main(String[] args) {
//定义一个能够人工输入的字符串Scanner
Scanner scanner=new Scanner(System.in);
System.out.println("用nextLine()的方式输入");
//判断输入的值是不是存在的
if(scanner.hasNext()){
//接收输入的值
String str=scanner.nextLine();
System.out.println("用nextLint()输出的结果为:"+str);
}
//执行完毕打印之后能够自己关闭
scanner.close();
}
}
package package03;
import java.util.Scanner;
public class ScannerTest3 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("通过nextLine()输出结果");
String str=scanner.nextLine();
System.out.println("通过next的结果为:"+str);
scanner.close();
}
}
如何从代码里面看到相关的方法的代码:按住【Ctrl+鼠标点击方法类名】就可以看到相关的源代码
并且点击Structure可以分段查看方法的代码
如果在写入的时候加上判断,他会根据判断的数据执行相关的操作,如果int输入的是浮点数,那么就会报错说不是整数,但是在浮点数li面输入整数的时候因为int的优先级比浮点数大,所以在执行的时候也是会转为浮点数最后进行输出的
package package03;
import java.util.Scanner;
public class ScannerTest4 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int i=0;
float f=0.0f;
System.out.println("输入整数值!");
if (scanner.hasNextInt()){
i=scanner.nextInt();
System.out.println("输入整数值为:"+i);
}else{
System.out.println("输入的不是整数的值");
}
System.out.println("输入浮点数值!");
if (scanner.hasNextFloat()){
f=scanner.nextFloat();
System.out.println("输入浮点数值为:"+f);
}else{
System.out.println("输入的不是浮点数的值");
}
scanner.close();
}
}
在Scanner里面加上计算以及循环语句
题目:在输出的结果里面能够知道输入了多少个数据,并且计算出这些数据的平均值
代码如下:
package package03;
import java.util.Scanner;
public class ScannerTest5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
//定义一个数字需要double类型,因为在输入做计算的时候也许又会出现小数
double num=0;
//定义输入的第几个数字
int m=0;
System.out.println("输入相关的数字");
while(scanner.hasNextDouble()){
//帮忙把输入的数字做记录
double x=scanner.nextDouble();
//表示循环到截止时间的所有的数据条数的总和
m=m+1;
//num的首先的值是0单输入一个值之后他输入的值会加上当前的num的值以此内推就会得到他第N个数字的总和就是num
num=num+x;
System.out.println("这是第"+m+"个数字,他的num值为:"+num);
}
System.out.println(m+"个数字,他的总和为"+num);
System.out.println(m+"个数字,他的平均数为"+num/m);
scanner.close();
}
}
"+num);
}
System.out.println(m+“个数字,他的总和为”+num);
System.out.println(m+“个数字,他的平均数为”+num/m);
scanner.close();
}
}