有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

indexoutofboundsexception无法理解问题出在哪里(Java)

试图运行一个交换名字的程序。任务很简单:输入>;Alice Bob Alex,输出>;亚历克斯·鲍伯·爱丽丝 另外,也许这个问题很愚蠢,但我最近才开始编程,所以我不知道该怎么办

我试着在Eclipse中运行代码——给出了一个索引错误。我从控制台开始——给出了一个主名称错误。试图通过Eclipse中的内部调试器——写下我正在使用过时的方法。最后,什么都不清楚/

public class Noob {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.print(args[2]);
        System.out.print(" " + args[1]);
        System.out.println(" " + args[0]);
    }
}
  1. 来自Eclipse的错误消息:

线程“main”java中出现异常。lang.ArrayIndexOutOfBoundsException:索引2超出长度0的界限 在noob/noob。新手main(Noob.java:7)

  1. 控制台(文件名为Noob.java)
    1. 首先,我编译了src文件(>;javac Noob.java)
    2. 然后我运行了它(>;java Noob)

错误:无法找到或加载主类Noob 原因:java。lang.NoClassDefFoundError:noob/noob(错误名称:noob)


共 (3) 个答案

  1. # 1 楼答案

    您没有正确地将值传递给程序。如果用java myProgram Alice Bob Alex从命令行调用程序,代码应该可以运行

    此外,您可以在运行配置选项中直接通过Eclipse将值传递给代码

  2. # 2 楼答案

    此外,最好不要硬编码这些值。试试这个:

    for (int i=args.length-1; i>=0; i ) {
        System.out.print(args[i] + ' ');
    }
    System.out.println("");
    
  3. # 3 楼答案

    你需要通过三个论点

    这是你需要遵循的步骤,传递论点

    1-)点击运行->;运行配置

    2-)点击参数选项卡

    3-)在程序参数部分,输入参数

    4-)单击应用