我发现它有点令人困惑,我正试图解决我在互联网上找到的这个问题作为我的编程练习:
使用带有一个INTEGER参数“initialValue”并返回以下内容的方法实现一个类:
一个。如果initialValue等于1 - 返回2(INTEGER)
湾如果initialValue等于2 - 返回1(INTEGER)
这是我到目前为止所做的:
public static void main(String[] args) {
System.out.print(myMethod(1));
}
private static int myMethod(int initialValue) {
int n = 1;
if(initialValue == n) {
return 2;
} else {
return n;
}
}
但我想这是一个基本的解决方案。你知道除此之外的任何方法变化吗?感谢。
答案 0 :(得分:4)
答案 1 :(得分:3)
您可以使用条件运算符?:
和
private static int myMethod(int initialValue) {
return initialValue == 1 ? 2 : 1;
}
三元运算符在Java Tutorials中描述
另一个条件运算符是
?:
,可以将其视为if-then-else语句的简写(在本课程的Control Flow Statements部分中讨论过)。此运算符也称为三元运算符,因为它使用三个操作数。在下面的示例中,此运算符应读作:“如果someCondition为true,则将value1的值赋给result。否则,将value2的值赋给result。”
答案 2 :(得分:1)
我真的希望你计划用它来学习,不要把它作为你自己的工作。你的方式很好。但是,您也可以使用模运算符(当然假设只有两个输入为1和2)。
private static int myMethod(int initialValue) {
return initialValue % 2 + 1;
}
祝你CS的愿望好运!
答案 3 :(得分:0)
也可以这样做,
private static int myMethod(int initialValue) {
switch (initialValue){
case 1:
return 2;
case 2:
return 1;
default:
return 0;
}
}
答案 4 :(得分:0)
public static void main(String[] args) {
int input;
// code for input value
System.out.print(myMethod(input));
}
private static int myMethod(int initialValue) {
int n = 1;
if(initialValue == n) {
return 2;
} else if(initialValue==2) {
return 1;
}
else {
return initialValue;
}
}
如果动态插入值,这可能会提供更好的输出