Scanner
在java.util中
来用Scanner进行用户的输入
Scanner s=new Scanner(System.in);
主要通过scanner类中的
next();
和nextline();获取输入的字符串
读取前一般要使用
hasNext();和hasNexLine();
来判断是否还有输入的数据;
注意:如果new scnnner是system.in
那么hasnext什么的永远不会返回fasle
你可以用while(new scanner(sc.nextline()))来一行一行接收(好像这样输入回车会退出)
import java.util.Arrays;
import java.util.Scanner;
@SuppressWarnings("all")
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Scanner s = new Scanner(scanner.nextLine());
while(s.hasNext()) {
s.nextInt();
}
System.out.println("结束");
}
}
这样的话s的接收输入就只是键盘的一行,回车键作为终止,如果这一行结束了
s也就肯定没有下一个输入了(因为s只是接收那一行)所以,s.hasnext也返回false
输出结束
package SCanner;
import java.util.Scanner;
public class Dem01 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);//创建一个Scanner对象
System.out.println("使用next方式接收");
if(scanner.hasNext())//判断是否还有输入
{
String str=scanner.next();//调用其中的Scanner对象scanner中的next
System.out.println("输入的内容为"+str);
}
scanner.close();//相当于关闭这个输入界面
}
}
next()和nextline()的区别
Scanner scanner=new Scanner(System.in);
//固定格式,中间是你需要输入的数据
scanner.close();
可以不写if
Scanner进阶用法
Scanner scanner =new Scanner(System.in);
int a=scanner.nextInt();//输入整数用nextInt
scanner.close();
nextInt/nextDouble/nextFloat
对用数据类型的输入就用next加上对应数据类型输入
输出
分为System.out.print()和System.out.println()和System.out.printf()
1.System.out.print()
直接输出不换行
public class Example{
public static void main(String[] args) {
int[] array = {2,5,85,30,75,66,-18,0};
for(int arrays:array){
System.out.print(arrays+" ");
}
}
}
2 5 85 30 75 66 -18 0
2.System.out.println()
输出完后自动换行
public class Example{
public static void main(String[] args) {
int[] array = {2,5,85,30,75,66,-18,0};
for(int arrays:array){
System.out.println(arrays);
}
}
}
2
5
85
30
75
66
-18
0
当参数为空的时候就是一个换行的作用
System.out.println()
3.System.out.printf()
从c继承过来的输出风格
和c的用法一致具体可以看看