调用Scanner里面的对应方法即可
import java.util.Scanner;
public class Validator {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//1.输入一个字符怎么写
char character = (char) scanner.nextByte();
//或者
char carac = scanner.next().charAt(0);
//2.输入一个整数怎么写
int intValue = scanner.nextInt();
//3.输入一个整型数组怎么写,假设用逗号隔开12, 35, 24...
String numbers = scanner.nextLine();
String[] digits = numbers.replaceAll("\\s+", "").split(",");
int[] intAray = new int[digits.length];
for(int i = 0; i < digits.length; i++){
intAray[i] = Integer.parseInt(digits[i]);
}
//4.输入一个字符串怎么写?
String str = scanner.next();
}
}
是这样的 输入后 你能获得的只是字符串 然后在通过字符串判断 转换成你想要的数据类型 前提输入的必须符合
自己查看API文档里面的 java.util.Scanner 类或者用输入流 java.io.BufferedReader 吧,下面是Scanner类的用法,具体还是的看API文档。
以下代码使用户能够从 System.in 中读取一个数:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
再看一个例子,以下代码使 long 类型可以通过 myNumbers 文件中的项分配:
Scanner sc = new Scanner(new File("myNumbers"));
while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}扫描器还可以使用不同于空白的分隔符。下面是从一个字符串读取若干项的例子:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close(); 输出为:
1
2
red
blue 以下代码使用正则表达式同时解析所有的 4 个标记,并可以产生与上例相同的输出结果:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
MatchResult result = s.match();
for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close();
加判断,字符长度是一,键盘上的任何键都是一个字符,输入整数的话加用正则表达式
整型数组的话,你控制你输入的是整数不就行了,new一个int[],字符串那个问题楼主问得有问题,键盘上你随便输入都是字符串,String;
第一在程序中加入这段代码
Scanner sc = new Sanner(System.in); //将键盘作为输入流 封装到sc流中
如你是用的myeclipse 或者 eclipse开发工具
输入sc. 后你会发现工具的智能提示都是你想要的
Scanner这个类,具体方法见java api