Scanner对象
导入java.util.Scanner 包,通过Scanner类来获取用户的输入
基本语法:Scanner s = new Scanner(System.in)
通过scanner类的next () 与nextLine()方法获取输入的字符串,在读取前一般需要用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。
next():
不能得到带有空格的字符串,只接受空格之前的
如:hello word输入后,输出只有hello
Scanner scanner = new Scanner(System.in); //从键盘接收数据
if(scanner.hasNext()){ //判断用户有没有输入字符串
String.str = scanner.next(); //使用next方式接收
System.out.println("输入的内容:"+str);
}
scanner.close(); // 凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯 用完就关掉
nextLine():
以回车键为结束符,所以可以接受回车键之前的所有字符(包括空格键)
所以常用这个!!
Scanner scanner = new Scanner(System.in); //从键盘接收数据
if(scanner.hasNextLine()){ //判断用户有没有输入字符串
String.str = scanner.nextLine(); //使用next方式接收
System.out.println("输入的内容:"+str);
}
scanner.close(); // 凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯 用完就关掉
用scanner判断数据类型
Scanner scanner = new Scanner(System.in); //从键盘接收数据
int i=0;
System.out.println("请输入整数:");
if(scanner.hasNextInt()){ //判断用户是否输入的还有整数 (注意可根据scanner的方法进行多种判断!)
i = scanner.nextLine(); //使用next方式接收
System.out.println("整数为:"+i);
}
else{System.out.println("输入的不是整数")};
scanner.close(); // 凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯 用完就关掉
用scanner获取字符
scanner不能直接用i=scanner.nextInt(),这种方式获取单个字符,若想获取单个char类型的字符需要以下操作:
String c=null;
Scanner scanner = new Scanner(System.in);
c = scanner.next();
char cc = c.charAt(0);
cc即为单个字符。
打印三角形
首先循环五次,也就是五行,然后内层每循环一次就要输出1的空格和2和3的*号
注意:System.out.println(" * “);每输出一次都会输出一个换行符,所以要用System.out.print(” * "),去掉ln后就不会换行了
for (int i = 0; i < 5; i++) {
for(int j = 5; j >= i; j--)
{
System.out.print(" "); //不加ln的话就输出完之后不换行
}
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
for (int j = 0; j <i; j++) {
System.out.print("*");
}
System.out.println();
}