[英]How can I return the right value?
如果以下两个条件之一,我需要返回-1
: biggerThanK(array[i], k)
或prim(array[i])
返回false
。 我试图把else { smallest = -1; }
else { smallest = -1; }
,但如果这方面,它仍然显示两个条件我输入值-1
。
import java.util.Scanner;
public class Main {
public static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int smallest = Integer.MAX_VALUE;
int n = scanner.nextInt();
int k = scanner.nextInt();
int[] array = new int[n];
for (int i = 0; i < array.length; i++) {
array[i] = scanner.nextInt();
}
for (int i = 0; i < array.length; i++) {
if (biggerThanK(array[i], k) && prim(array[i])) {
if (array[i] < smallest) {
smallest = array[i];
}
}
}
System.out.println(smallest);
}
public static boolean biggerThanK(int number, int k) {
if (number >= k) {
return true;
} else {
return false;
}
}
public static boolean prim(int number) {
for (int i = 2; i < number; i++) {
if (number % i == 0) {
return false;
}
} return true;
}
}
您应该将此放在函数中。
如果只有一个条件需要为假,那么我将使用这样的架构:
if(condition 1)
if(condition 2)
//update smallest
else
return -1
else
return -1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.