从用户那里获取偶数并在数字为奇数时给出异常错误
taking even number from user and giving exception error if number is odd
我是一名 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);
}
}
您的 oddexception
构造函数有两个参数,因此
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]);
首先,我想请你遵循 Java coding convention 并以大写字符开头你的 ClassNames
然后遵循驼峰式,通过遵循这些约定,你的代码将变得更具可读性和可以理解。
关于您的问题,您在构造函数中接受两个参数 oddexception(String message, int a)
,一个 String
和一个 int
。
但是在调用它时你只传递了一个参数 "Number is odd "+n[i]
,因为 n[i]
将与 String
连接并成为 String
.
所以你应该写 throw new oddexception("Number is odd ", n[i]);
而不是 throw new oddexception("Number is odd "+n[i]);
我是一名 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);
}
}
您的 oddexception
构造函数有两个参数,因此
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]);
首先,我想请你遵循 Java coding convention 并以大写字符开头你的 ClassNames
然后遵循驼峰式,通过遵循这些约定,你的代码将变得更具可读性和可以理解。
关于您的问题,您在构造函数中接受两个参数 oddexception(String message, int a)
,一个 String
和一个 int
。
但是在调用它时你只传递了一个参数 "Number is odd "+n[i]
,因为 n[i]
将与 String
连接并成为 String
.
所以你应该写 throw new oddexception("Number is odd ", n[i]);
throw new oddexception("Number is odd "+n[i]);