我正在尝试编写一个程序,该程序需要2个大于0的整数值并打印最接近15的值。如果它们都结束则打印0。这是一个假设的知识问题,但它让我对某些事情感到困惑,而我的代码看起来错了。
我试图尝试谷歌类似的例子,但有些对我没有意义所以我只是觉得最好问一下。
fadeIn
编辑:我在没有阵列的情况下重新编写代码,将会更新代码。
编辑2:我已更新代码请参阅上文
编辑3:我已经完成删除数组并且一切都成功,除非'value1或value2'整数得到负数。我查看了回复,但我对如何更改代码以解决此问题感到困惑
答案 0 :(得分:2)
将代码更改为:
if(first>second){
return num;
}
else if(first<second){
return num;
}
答案 1 :(得分:2)
如果你先使用java内置的Math.max方法并进行一些验证,那就更清晰了。例如:
private static int maxNonNegativeLessThan15(int a, int b) {
// Set either or both to 0 in case of negative or >= 15
if (a >= 15 || a < 0) {
a = 0;
}
if (b >= 15 || b < 0) {
b = 0;
}
return Math.max(a, b);
}
编辑:添加了输入代码作为示例
public static void main(String[] args) {
while(true) {
Scanner in = new Scanner(System.in);
int n1 = in.nextInt();
int n2 = in.nextInt();
if (n1 < 0 || n1 >= 15) {
n1 = 0;
}
if (n2 < 0 || n2 >= 15) {
n2 = 0;
}
System.out.println(Math.max(n1,n2));
}
}
答案 2 :(得分:0)
我没有检查过该值是否小于0.希望你能自己做。
import java.util.*;
public class W221 {
public static void main(String[] args) {
int firstVal = 0;
int secondVal = 0;
Scanner kb = new Scanner(System.in);
System.out.println("Give your first value: ");
firstVal = kb.nextInt();
System.out.println("firstVal is: " + firstVal);
System.out.println("Give your second value: ");
secondVal = kb.nextInt();
System.out.println("secondVal is: " + secondVal);
System.out.println(checkMe(firstVal, secondVal));
}
private static int checkMe(int firstVal, int secondVal) {
if (Math.max(firstVal, secondVal) > 15) {
return 0;
} else
return Math.max(firstVal, secondVal);
}
}
Give your first value:
10
firstVal is: 10
Give your second value:
11
secondVal is: 11
11
答案 3 :(得分:0)
我终于能够解决这个问题了。它可能不是最好的方式,但它有效。
public class W221 {
public static void main(String[] args) {
while (JPL.test()) {
Scanner kb = new Scanner (System.in);
int num = kb.nextInt();
int num2 = kb.nextInt();
int value1;
int value2;
if(num <= 15 || num2 <= 15){
value1 = 15 - num;
value2 = 15 - num2;
if(value1 < 0){
value1 = 50;
}
if(value2 < 0){
value2 = 50;
}
if(value1>value2){
System.out.println(" " + num2);
}
else if(value1<value2){
System.out.println(" " + num);
}
}
else{
System.out.println(0);
}}}}