最近自学java,对输入这块不是很明白,今晚上就写了一段
import java.util.Scanner;/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*//**
*
* @author Administrator
*/
public class BeiShuYinShu {
public static void main(String args[]) {
int i;
int[] a = null;
ass: for(i=0;i<2;i++){
switch(i) {
case 0:
System.out.println("请输入第一个数:");
Scanner m = new Scanner(System.in );
a[0] = m.nextInt();
break;
case 1:
System.out.println("请输入第二个数:");
Scanner n = new Scanner(System.in);
a[1] = n.nextInt();
break;
}
}
System.out.println(a); }}
但是运行的时候老是出错:
请输入第一个数:
5
Exception in thread "main" java.lang.NullPointerException
at BeiShuYinShu.main(BeiShuYinShu.java:23)
Java Result: 1
搞不清楚是为什么,是不是回车需要用函数什么的触发设么的啊,请高手指教,还有如果用
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String m;
m = br.readLine();
怎样实现多对多个数字的输入?
import java.util.Scanner;/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*//**
*
* @author Administrator
*/
public class BeiShuYinShu {
public static void main(String args[]) {
int i;
int[] a = null;
ass: for(i=0;i<2;i++){
switch(i) {
case 0:
System.out.println("请输入第一个数:");
Scanner m = new Scanner(System.in );
a[0] = m.nextInt();
break;
case 1:
System.out.println("请输入第二个数:");
Scanner n = new Scanner(System.in);
a[1] = n.nextInt();
break;
}
}
System.out.println(a); }}
但是运行的时候老是出错:
请输入第一个数:
5
Exception in thread "main" java.lang.NullPointerException
at BeiShuYinShu.main(BeiShuYinShu.java:23)
Java Result: 1
搞不清楚是为什么,是不是回车需要用函数什么的触发设么的啊,请高手指教,还有如果用
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String m;
m = br.readLine();
怎样实现多对多个数字的输入?
BufferedReader和Scanner类似,得自己用Integer.parseInt转型
double s[] = new double[3]; //使用数组存放3个数
try{
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
System.out.println("give your test number:\n");
for(int i=0;i<3;i++) { //输入3个数,每行输入一个
s[i] = Double.valueOf(input.readLine());
}
}catch (Exception e) {
e.printStackTrace();
}
System.out.println(a[0]+","+a[1]);
s[i] = Double.parseDouble(input.readLine());
数组需要用new初始化。
try{
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader input = new BufferedReader(reader);
System.out.println("give your test number:\n");
for(int i=0;i<3;i++) { //输入3个数,每行输入一个
s[i] = Double.valueOf(input.readLine());
}
}catch (Exception e) {
e.printStackTrace();
}