Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从用户处获取偶数,若数为奇数,则给出异常错误_Java_Exception_Exception Handling - Fatal编程技术网

Java 从用户处获取偶数,若数为奇数,则给出异常错误

Java 从用户处获取偶数,若数为奇数,则给出异常错误,java,exception,exception-handling,Java,Exception,Exception Handling,我是一名java学生,正在编写一个带有异常处理的java程序。在这个程序中,我试图编写一个程序,从用户那里获得5个偶数,如果用户输入奇数,则会显示一个异常,该数字是奇数。我在此程序中使用自定义异常“oddexception” 现在我们来谈谈这个问题。所以我有一个问题,这个程序没有编译。它显示了下图中提到的错误 这个问题的答案对你来说可能很小也很愚蠢,但我是java的初学者,所以这个答案对我来说真的很重要。请帮帮我 请帮我找到解决办法。解决方案 import java.lang.Exception

我是一名java学生,正在编写一个带有异常处理的java程序。在这个程序中,我试图编写一个程序,从用户那里获得5个偶数,如果用户输入奇数,则会显示一个异常,该数字是奇数。我在此程序中使用自定义异常“oddexception”

现在我们来谈谈这个问题。所以我有一个问题,这个程序没有编译。它显示了下图中提到的错误

这个问题的答案对你来说可能很小也很愚蠢,但我是java的初学者,所以这个答案对我来说真的很重要。请帮帮我

请帮我找到解决办法。解决方案

import java.lang.Exception;
class oddexception extends Exception
{
    oddexception(String message, int a)
    {   
        System.out.println(message);
        System.out.println("Invalid Number is/are "+a);
    }
}
class program4
{
    public static void main(String args[])
    {
        Integer n[] = new Integer[5];
        int j=0;
        for(int i=0; i<5; i++)
        {
            try
            {
                n[i] = Integer.valueOf(args[i]);
                if(n[i]%2!=0)
                {
                    j++;
                    throw new oddexception("Number is odd "+n[i]);
                }
            }
            catch(oddexception e)
            {
                System.out.println("Caught my exception");
            }
        }
        System.out.println("Invalid numbers are : "+j);
    }
}   
import java.lang.Exception;
类oddexception扩展异常
{
oddexception(字符串消息,int a)
{   
System.out.println(消息);
System.out.println(“无效数字为/是”+a);
}
}
班级计划4
{
公共静态void main(字符串参数[])
{
整数n[]=新整数[5];
int j=0;

对于(int i=0;i您的
oddeception
构造函数有两个参数,因此

throw new oddexception("Number is odd "+n[i]);
你应该写

throw new oddexception("Number is odd ",n[i]);

从错误消息中可以很清楚地看出,异常的构造函数需要一个字符串和一个整数(
oddexception(String message,int a)

throw new oddexception("Number is odd "+n[i]); //results to String
所以,修改一点代码

  throw new oddexception("Number is odd " , n[i]);

首先,我想请您遵循并以大写字符开始
类名
,然后遵循驼峰式大小写,通过遵循这些约定,您的代码将变得更可读和易懂

现在,关于您的问题,您正在接受构造函数中的两个参数
oddexception(字符串消息,int a)
,一个
String
和一个
int

但是在调用它时,您只传递了一个参数
“Number is odd”+n[i]
,因为
n[i]
将与
字符串
连接并成为
字符串


所以你应该写
抛出新的异常(“数字是奇数的”+n[i]);
而不是
抛出新的异常(“数字是奇数的”,n[i]);

谢谢兄弟!它奏效了。我犯了一个愚蠢的错误。我的老师教我这一点。但作为一个初学者,我认为这是很自然的。