Java相等整数
我觉得这有点让人困惑,我正试图解决我在互联网上发现的这个问题,作为我的编程练习: 使用方法实现一个类,该类接受一个整数参数“initialValue”,并返回以下内容: a。如果initialValue等于1-返回2(整数)Java相等整数,java,Java,我觉得这有点让人困惑,我正试图解决我在互联网上发现的这个问题,作为我的编程练习: 使用方法实现一个类,该类接受一个整数参数“initialValue”,并返回以下内容: a。如果initialValue等于1-返回2(整数) B如果initialValue等于2-返回1(整数) 这就是我到目前为止所做的: public static void main(String[] args) { System.out.print(myMethod(1)); } private static
B如果initialValue等于2-返回1(整数) 这就是我到目前为止所做的:
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;
}
}
但我想这是一个基本的解决方案。你知道除此之外的其他方法吗?谢谢。对于
3
return initialValue ^ 3;
也可以这样做,
private static int myMethod(int initialValue) {
switch (initialValue){
case 1:
return 2;
case 2:
return 1;
default:
return 0;
}
}
如果动态插入值,这可能会提供更好的输出您可以使用条件运算符
?:
以及类似的内容
private static int myMethod(int initialValue) {
return initialValue == 1 ? 2 : 1;
}
三元运算符如下所述
另一个条件运算符是?:
,可以将其视为if-then-else语句的简写(在本课程的部分中讨论)。此运算符也称为三值运算符,因为它使用三个操作数。在以下示例中,此运算符应理解为:“如果someCondition为true,则将value1的值指定给result。否则,将value2的值指定给result。”
我真的希望你计划用这个来学习,不要把它当作你自己的作品交上来。你的方法很有效。但是,您也可以使用模运算符(当然,假设只有两个输入是1和2)
祝你的CS愿望好运 initialValue=3的预期输出是什么?否则,对于除1之外的任何值,都会将结果设置为1。使用三元运算符,
returninitialvalue==1?2 : 1;
@Jongot:但它也会返回1,而不是2..@Prashant哦,这不包括在OP的要求中。该任务是否需要整数
对象或原语整数
作为参数?如果任务是使用Integer
,它会变得更有趣,因为您可能希望使用equals()
而不是==
(对象相等与标识)。感谢这是一个很酷的单行解决方案:)我几乎忘记了XORS。稍微清晰一点(IMO)将返回3-initialValue代码>我们大多数人处理普通算术比处理位数学更好。这个可爱但狡猾的答案不应该有这么多的投票。啊,如果你把它作为一个答案早些时候@PM77-1我认为即使是提示也需要语法正确
private static int myMethod(int initialValue) {
return initialValue == 1 ? 2 : 1;
}
private static int myMethod(int initialValue) {
return initialValue % 2 + 1;
}