我的任务是拆分我的程序,它允许用户输入一个数字数组,在1到10之间的奇数之后检查奇数是否是数组中5个数字的一个因子。我不断尝试不同的方法,但似乎都不管用。有人能帮我吗?或者寄一份我该怎么分类的样品?程序如下:
import java.util.Scanner;
public class CheckboxExample{
public static void main(String args[]) {
CheckBox c = new CheckBox();
new CheckboxExample(); // links to checkbox class
Scanner s = new Scanner(System.in);
int array[] = new int[10];
System.out.println ("Please enter 10 random numbers"); // prompts the user to enter 10 numbers
int num; // declares variable num
try{
for (int i = 0; i < 10; i++) {
array[i] = s.nextInt(); // array declaration
}
}catch (Exception e){
System.out.println ("You have an error");
}
System.out.println ("Please enter an odd number between 1 and 10");
try{
num = s.nextInt ();
if (num % 2 == 0){
do{
System.out.println ("\nYour number is even, enter an odd one");
num = s.nextInt ();
}while (num % 2 == 0);
}
if (num < 0 | num > 10){
do{
System.out.println ("Your number is outside of the range, try again");
num = s.nextInt ();
}while (num < 0 | num > 10);
}
for (int i = 0; i < 5 ; i++){
if (array[i] % num == 0) {
System.out.println("Your number is a factor of " + array[i] );
}
}
}catch (Exception e){
System.out.println ("error");
}
}
}
1条答案
按热度按时间6qqygrtg1#
理想情况下,方法应该负责一个任务。在您的例子中,您应该考虑代码尝试执行的不同操作,并在某种意义上组织它们,即您调用的每个方法都执行您尝试执行的操作列表中的一项操作。例如:据我所知,您的代码执行以下操作:
读取10个值的数组
读奇数
验证数字是否为奇数
验证数字是否在范围内
计算数字是否是数组中10个数字之一的因子
现在一种可能的方法是将代码分成5个方法,这些方法正好可以完成这些任务。
首先调用读取10个数字的方法。然后调用方法读取奇数。3.和4。实际上是读取数字的一部分,因为您需要重试无效的输入,所以您可以编写输入奇数的方法,使其使用验证输入的方法。最后,当您拥有所有有效的输入时,您将调用产生结果的方法(即,如果数字是列表中数字的一个因子)。
代码的一般异常值可能如下所示:
请注意,这只是将代码拆分为方法的一种方法,设计和实现每个方法有几种方法。