JAVA的输入需要导入Scanner类,以下是几个学习例子。在使用它的时候,需要创建一个对象,语法:
Scanner s = new Scanner(System.in);
使用的方法有:
- next 方法
一、奇偶数判断(nextInt方法)
import java.util.Scanner; //一定要导入包!
public class test4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
System.out.println("输入数据:");
//多行输入
int n = sc.nextInt(); //必须为数字
String check=(n%2==0)?"偶数":"奇数";
System.out.println(check);
}
}
演示:
二、next使用
确保用户已经输入,并输出用户的内容:
import java.util.Scanner;
public class test5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入字符串:");
//hasnext用于确保已经接收
if(sc.hasNext())
{
String check=sc.next();
System.out.println("输入内容为:"+check);
}
}
}
演示:
三、nextLine使用
import java.util.Scanner;
public class test7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
System.out.println("请输入内容:");
// 判断是否还有输入
if(sc.hasNextLine()) {
String s=sc.nextLine();
System.out.println(s);
}
}
}
演示:
四、next()与nextLine()区别
next():
- 一定要读取到有效字符后才可以结束输入。
- 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
- 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
- next()不能得到带有空格的字符串。
nextLine():
- 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
- 可以获得空白。
4.1整数输入
如果要输入int或float类型的数据,在Scanner类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取。这里以输入int为例:
import java.util.Scanner;
public class test8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int s=0;
System.out.print("输入整数:");
Scanner sc=new Scanner(System.in);
if(sc.hasNextInt())
{
s = sc.nextInt();
System.out.println(s);
}
else
{
System.out.println("您输入的不是整数");
}
}
}
4.2多个值输入
计算累加和与平均值:(最后通过字符输入结束循环)
import java.util.Scanner;
public class test9 {
public static void main(String[] args) {
//创建对象
Scanner sc=new Scanner(System.in);
//声明变量
int m=0;
int sum=0;
while(sc.hasNextFloat())
{
float i=sc.nextFloat();//输入传递给i
sum+=i;//计算累计和
m=m+1;//计算个数
}
System.out.println("累计和为:"+sum);
System.out.println("平均值为:"+sum/m);
}
}
演示L: