这是错误消息:java.lang.ExceptionInInitializerError
引起原因:java.lang.RuntimeException:无法编译的源代码-预期的标识符
at pkg18148600a_assignment1.Main. (Main.java:12) 线程“main” Java中的异常结果:1
这是我的代码
public static void main(String[] args) {
Member member[] = new Member[6];
int sequence[] = {0,1,2,3,4,5};
int temp;
for (int i = 0; i < args.length; i++){
if (i % 2 == 0){
member[i] = new Member(args[i], Integer.valueOf(args[i+1]));
}
}
int k = 0;
boolean swap;
do{
swap = false;
if (member[k % 7].compareTo(member[(k+1) % 7]) > 0){
temp = sequence[k % 7];
sequence[k % 7] = sequence[(k+1) % 7];
sequence[(k+1) % 7] = temp;
swap = true;
}
k++;
} while(swap);
for (int i = 0; i < args.length; i++)
System.out.printf("%s, %d\n", member[i].getName(), member[i].getAge());
}
public static class Member implements Comparable { private String name; private int age;
public Member(String name, int age){
this.name = name;
在以下行中获取NullPointerException
member[k % 7].compareTo(member[(k+1) % 7] 因为你在这里只是新的偶数索引
for (int i = 0; i < args.length; i++){ if (i % 2 == 0){ member[i] = new Member(args[i], Integer.valueOf(args[i+1])); } } 必须删除陈述或与你的逻辑相关的其他事物
以及其他Integer.valueOf(args [i + 1])导致ArrayIndexOutOfBoundsException。数组从0索引开始
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。