【发布时间】:2014-04-18 22:13:32
【问题描述】:
如果他按下“a”,我试图获取用户输入,他可以做平均,如果他输入“s”,则调用平均方法,他使用 sum 方法。
我是枚举的新手,所以我正在试验。我创建了一个存储 a、b 的枚举,并尝试使用扫描仪将其值与用户输入进行比较。
我可以使用 if 语句并忘记整个枚举,但我想知道它是如何工作的。 谢谢。
public enum RecursionEnum {
s, a
}
主类:
import java.util.*;
public class Recursion {
static RecursionEnum enumtest;
public static void yn() {
Scanner boges = new Scanner(System.in);
System.out.println("Enter a for average or s for sum");
String answer = boges.nextLine();
switch (enumtest) {
case a:
average();
case s:
sums();
}
}
public static void main(String[] args) {
yn();
}
public static int sums() {
int i = 0;
int j = 0;
int sum = i + j;
return sum;
}
public static double average() {
Scanner avgs = new Scanner(System.in);
System.out.println("Enter total number of numbers; ");
double tnum = avgs.nextDouble();
double[] nums = new double[(int) tnum];
double sum = 0;
for (int i = 0; i < tnum; i++) {
System.out.println("Enter number " + (i + 1) + " : ");
nums[i] = avgs.nextDouble();
sum += nums[i];
}
System.out.println(" ");
double avg = sum / tnum;
return avg;
}
}
这是输出:
Enter a for average or s for sum
a
Exception in thread "main" java.lang.NullPointerException
at com.towerdef.shit.Recursion.yn(Recursion.java:14)
at com.towerdef.shit.Recursion.main(Recursion.java:26)
【问题讨论】:
标签: java enums switch-statement