我的代码在 Main class 中不起作用
my code don't work in Main class
我想在 NumeicVariable class 中计算并在 Main class 中显示结果,但我的代码无法正常工作。
主要class是:
package com.sajjad.java;
public class Main {
public static void main(String[] args) {
int value = 20;
System.out.println(NumericVariables.drawOne(value)); //
System.out.println(NumericVariables.addOne(value)); //
}
}
而 NumericValues 是:
package com.sajjad.java;
import com.sun.org.apache.xpath.internal.SourceTree;
public class NumericVariables {
public static int addOne(int number){
return number++;
}
public static int drawOne(int number) {
return number--;
}
}
注意:结果为20
您使用 post 递增和递减运算符:
return number++;
return number--;
例如这里:
public static int addOne(int number) {
return ++number;
}
数值递增,但仅在下一条语句出现时递增。
所以当你 return 时,与参数相同的值是 returned.
这里也是一样的:
public static int drawOne(int number) {
return number--;
}
number
永远不会递减,因为数字是 return 在递减的同一语句中编辑的。
您有几种解决方法:
分两次完成:
public static int addOne(int number) {
number++; // post increment
return number; // value incremented here
}
使用预递增运算符:
public static int addOne(int number) {
return ++number; // incremented right now
}
或者更简单地增加 1 :
public static int addOne(int number) {
return number+1; // incremented right now
}
自减运算符的逻辑完全一样
我想在 NumeicVariable class 中计算并在 Main class 中显示结果,但我的代码无法正常工作。
主要class是:
package com.sajjad.java;
public class Main {
public static void main(String[] args) {
int value = 20;
System.out.println(NumericVariables.drawOne(value)); //
System.out.println(NumericVariables.addOne(value)); //
}
}
而 NumericValues 是:
package com.sajjad.java;
import com.sun.org.apache.xpath.internal.SourceTree;
public class NumericVariables {
public static int addOne(int number){
return number++;
}
public static int drawOne(int number) {
return number--;
}
}
注意:结果为20
您使用 post 递增和递减运算符:
return number++;
return number--;
例如这里:
public static int addOne(int number) {
return ++number;
}
数值递增,但仅在下一条语句出现时递增。
所以当你 return 时,与参数相同的值是 returned.
这里也是一样的:
public static int drawOne(int number) {
return number--;
}
number
永远不会递减,因为数字是 return 在递减的同一语句中编辑的。
您有几种解决方法:
分两次完成:
public static int addOne(int number) {
number++; // post increment
return number; // value incremented here
}
使用预递增运算符:
public static int addOne(int number) {
return ++number; // incremented right now
}
或者更简单地增加 1 :
public static int addOne(int number) {
return number+1; // incremented right now
}
自减运算符的逻辑完全一样