开发者社区> 问答> 正文

java<identifier>

这是错误消息: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;

展开
收起
小六码奴 2019-10-12 16:41:44 755 0
1 条回答
写回答
取消 提交回答
  • 在以下行中获取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索引开始

    2019-10-12 16:42:42
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Java8简明教...[fredwong].1494561200.pdf 立即下载
Expert Tips to Command Your Na 立即下载
低代码开发师(初级)实战教程 立即下载