Java - 当没有用户输入时阻止错误消息 - 家庭作业

时间:2013-11-01 10:43:29

标签: java

程序应该由用户输入字符串并将其反转。 (例如“Hello”输入“olleH”是输出。)您可以通过运行java ReverseCL2 Hello之类的程序来执行此操作。但是,当没有输入字符串时,它会打印ArrayOutOfIndexException。我需要它来打印出用户应该做的事情(请在运行代码时输入一个字符串。)我已经尝试了下面的内容以及if (args[0].equals(null))。在此先感谢您的任何帮助:)

public class ReverseCL2
{
    public static void main(String[] args)
    {
        String s = args[0];
        String rev = "";
        if (args[0].isEmpty())
        {
            System.out.println("Input a string to be reversed");
        }
        else
        {
            for (int i=0; i<s.length(); i++) 
            {
                rev = s.charAt(i) + rev;
            }
            System.out.println(rev);
        }

    } 
}

5 个答案:

答案 0 :(得分:1)

首先检查args.length是否为零,即

if(args.length == 0 || args[0].isEmpty())
{
    // <Handle special case however you like>
}

ArrayIndexOutOfBoundsException的尺寸为args[0]时,您获得的args0的结果。

答案 1 :(得分:1)

public class ReverseCL2
{
    public static void main(String[] args)
    {
        if(args.length == 0 || args[0].isEmpty())
        {
            System.out.println("Input a string to be reversed");
            return;
        }

        String s = args[0];
        String rev = "";

        for(int i = 0; i < s.length(); i++) 
        {
            rev = s.charAt(i) + rev;
        }

        System.out.println(rev);

    } 
}

答案 2 :(得分:0)

!用于检查参数化数组值

if (!args[0].isEmpty() && args.length==0)

请参阅代码中的上一行。

    public class ReverseCL2
{
    public static void main(String[] args)
    {
        String s = args[0];
        String rev = "";
        if (!args[0].isEmpty() && args.length==0)
        {
            System.out.println("Input a string to be reversed");
        }
        else
        {
            for (int i=0; i<s.length(); i++) 
            {
                rev = s.charAt(i) + rev;
            }
            System.out.println(rev);
        }

    } 
}

答案 3 :(得分:0)

It simple arg0 is array so before get data from That check Array size 


if(args.length == 0)
{
    // <Show message to user >
}else{

// <write here Working code >

}

答案 4 :(得分:0)

除上述答案外,更简单的代码(阅读虎钳)将是

public static void main(String args[]) {

    switch (args.length) {

        case 0 : System.out.println("Input a string to be reversed");
            break;
        default:    //your logic

    }
}