首先定义scanner方法:
Scanner scanner = new Scanner(System.in);
此时会提示有错误,需要加入头文件:import java.util.Scanner;
1、从键盘输入整形变量:
Scanner scanner = new Scanner(System.in);
System.out.print("请输入整数:");
int n=scanner.nextInt();
(double类型的):
double n = scanner.nextDouble();
2、从键盘输入一个字符串:
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String n = scanner.next();
3、从键盘输入数组:
import java.util.Scanner;
public class A_12 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int c[]=new int[10];
System.out.println("请输入10个整数:");
for(int i=0;i<10;i++){
c[i]=scanner.nextInt();
}
for(int i=0;i<10;i++){
System.out.print(c[i]+" ");
}
}
}
输出为:
4、将键盘输入的字符串转化为数组:
完整代码:
import java.util.Scanner;
public class A_2 {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入字符串:");
String s=scanner.next();
//char ch=c.chartAt(0)获取第一个字符;
//chartAt(0)表示字符在字符串中的位置(字符串第一个字符的位置为0)
char[] c=s.toCharArray();
for(int i=0; i<c.length; i++)
{
System.out.println(c[i]);
}
System.out.println("c[2]="+c[2]);
}
输出为:
scanner.next()和scanner.nextline()的区别:
scanner.next()和scanner.nextline()都可以读取字符串。但是它们是有区别的:
1、next()方法将输入的空格键、Tab或Enter键等视为分隔符或结束符。所以next()方法不能得到带空格的字符串。
2、而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
scanner.nextline()可用于过滤Enter结束符。所以需要连续输入两个字符串时最好用String s=scanner.nextline(),当然也可以像下面这样:
String s=scanner.next();
scanner.nextline();
完整代码示例如下:
import java.util.Scanner;
public class A_2 {
public static void main(String[] args) {
String s1,s2;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个字符串:");
s1 = sc.nextLine();
// s1=sc.next();
// sc.nextLine();
System.out.println("请输入第二个字符:");
s2=sc.nextLine();
System.out.println("输入的字符串是:"+s1+" "+s2);
}
}
输出为:
大家不妨试试在System.out.println(“请输入第一个字符串:”)面后只加s1=sc.next();不加sc.nextLine()的效果。