包机制与Scanner
包机制
-
就是文件夹的作用
-
公司域名倒置做包名 例如;www.baidu.com 包名设置则为 com.baidu.www (我自己的是com.kang)

-
使用import去调用其他的类 如代码中的Scanner类import +路径
-
import 加上路径+*引用包里的所有类
Scanner
-
java5给我们提供了Scanner工具类 可以获取用户输入 java.util.Scanner是新特征
-
基本语法 Scanner s=new Scanner(System.in);
-
Scanner类的方法 hasNext()和hasNextLine()判断用户是否输入
-
Scanner类的方法next()和nextLine()获取用户输入的字符串
-
next()
-
读取到有效字符才可以结束输入
-
有效字符之前遇到的空白,会自动去除
-
入有 效字符后才能用空白作为分割或者结束符 不能完全得到带有空格的字符串
-
nextLine()
-
以enter作为结束符,可以得到回车键前的所有字符串 包括空白
拓展
-
hasNextDouble() .nextDouble 可以接收整型和浮点型
-
hasNext+类型(类型开头大写,例如Long,Int,Boolean,Float......)
-
next+类型(类型开头大写,如上)
代码
import java.util.Scanner;//在util包下的类Scanner,用于获取用户的输入
public class Demo01 {
public static void main(String[] args) {
Scanner str=new Scanner(System.in) ;//用new分配一个空间给str,用于获取用户输入 str为实例对象
System.out.println("使用next方法接收:");
//判断用户有没有字符串输入
if(str.hasNext()){//hasNext和hasNextLine两个方法判断用户是否还有输入数据
String a= str.next();//next和nextLine接收数据
System.out.println(a);//next不能有空格 接收不了空格后面的
}
str.close();
}
}
结果:
1213 56
1213
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("使用nextLine接收数据");
if (input.hasNextLine()){
String str=input.nextLine();
System.out.println(str);
}
}
}
结果:
使用nextLine接收数据
Scanner nextLine方法
Scanner nextLine方法
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("请输入整数");
if(s.hasNextInt()){
int a=s.nextInt();
System.out.println("整数为:"+a);
}
else {
System.out.println("你输入的不是整数");
}
System.out.println("请输入小数");
if (s.hasNextFloat()){
float b=s.nextFloat();
System.out.println("输入的小数为:"+b);
}
s.close();
}
}
结果1:
请输入整数
3
整数为:3
请输入小数
3.3
输入的小数为:3.3
结果2:
请输入整数
3.3
你输入的不是整数
请输入小数
输入的小数为:3.3
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
//我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车键确认通过输入非数字来结束输入并输出执行结果
Scanner s=new Scanner(System.in);
double sum=0;
int i=0;
while(s.hasNextDouble()){
double a=s.nextDouble();
sum=sum+a;
i++;
System.out.println("第"+i+"次输入");
System.out.println("现在的总和为:"+sum);
}
System.out.println("总和为:"+sum);
System.out.println("平均数为:"+(sum/i));
s.close();
}
}
结果:
6
第1次输入
现在的总和为:6.0
25
第2次输入
现在的总和为:31.0
111
第3次输入
现在的总和为:142.0
4
第4次输入
现在的总和为:146.0
s
总和为:146.0
平均数为:36.5

浙公网安备 33010602011771号