Java-当没有用户输入时,防止出现错误消息-家庭作业

Java-当没有用户输入时,防止出现错误消息-家庭作业,java,Java,程序应该接受用户输入的字符串,并将其反向返回。(例如,“Hello”是输入,“olleH”是输出。)您可以通过运行类似于java ReverseCL2 Hello的程序来实现这一点,但是,当没有输入字符串时,它会打印ArrayOutOfIndexException。我需要它来打印用户应该做什么(请在运行代码时输入一个字符串)。我已经尝试了下面的内容,还尝试了if(args[0].equals(null))。提前感谢您的帮助:) 公共类反向ECL2 { 公共静态void main(字符串[]arg

程序应该接受用户输入的字符串,并将其反向返回。(例如,“Hello”是输入,“olleH”是输出。)您可以通过运行类似于
java ReverseCL2 Hello
的程序来实现这一点,但是,当没有输入字符串时,它会打印
ArrayOutOfIndexException
。我需要它来打印用户应该做什么(请在运行代码时输入一个字符串)。我已经尝试了下面的内容,还尝试了
if(args[0].equals(null))
。提前感谢您的帮助:)

公共类反向ECL2
{
公共静态void main(字符串[]args)
{
字符串s=args[0];
字符串rev=“”;
if(args[0].isEmpty())
{
System.out.println(“输入要反转的字符串”);
}
其他的
{

对于(int i=0;i首先检查
args.length
是否为零,即

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

args
具有大小
0
put
以检查参数化数组值时,尝试访问
args[0]
会导致出现
arrayindexoutofbounds异常

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);
        }

    } 
}
公共类反向ECL2
{
公共静态void main(字符串[]args)
{
字符串s=args[0];
字符串rev=“”;
如果(!args[0].isEmpty()&&args.length==0)
{
System.out.println(“输入要反转的字符串”);
}
其他的
{
对于(int i=0;i
public class ReverseCL2
{
公共静态void main(字符串[]args)
{
if(args.length==0 | | args[0].isEmpty())
{
System.out.println(“输入要反转的字符串”);
返回;
}
字符串s=args[0];
字符串rev=“”;
对于(int i=0;i
很简单,arg0是数组,所以在从该数组获取数据之前,请检查数组大小
如果(args.length==0)
{
// 
}否则{
// 
}

除了上述答案之外,还有一个更简单的代码(读虎钳)


+1:公平点-您(即OP)仍然需要检查它是否为空。
if(args.length==0 | | args[0].isEmpty())
检查
空数组
空值
。此代码绝对正确。(这确实是一个基本问题)是的,我知道-我注意到我回答问题太快了,只是演示了如何避免异常,同时愚蠢地忘记了条件的第二部分。因此,我向您投了赞成票,然后我自己更正了这一事实:)不幸的是,这没有对
args[0]进行空检查
args.length!=0
时,该逻辑将出现在默认情况下(非零参数)。在处理数据之前,您可以始终检查是否为空或null。
    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);
        }

    } 
}
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);

    } 
}
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 >

}
public static void main(String args[]) {

    switch (args.length) {

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

    }
}