Java 每次变量超过某个数字时,如何返回一个不变的变量?

Java 每次变量超过某个数字时,如何返回一个不变的变量?,java,methods,int,Java,Methods,Int,我试图让变量x在加法后返回它的值,当它小于10时,我希望它每次到达一个大于10的数字时都返回它不变的值。我做错了什么 不成功的代码: public class test { static int method(int r){ int x = 0; x = x + r; if (x <=10) { if (x >=10) return x;} //unsure about this part of

我试图让变量x在加法后返回它的值,当它小于10时,我希望它每次到达一个大于10的数字时都返回它不变的值。我做错了什么

不成功的代码:

public class test {

  static int method(int r){

      int x = 0;
      x = x + r;
      if (x <=10) { 

      if (x >=10)    
          return x;}  //unsure about this part of the Code.
  return x;
  } 

        public static void main(String[] arg) {

        int i = method(4);
        System.out.println(i); //want it to output 4

         i = method(7); 
        System.out.println(i); //want it to output 4 because 4+7= 12. 12 >10

         i = method(5); //want it to output 9
        System.out.println(i);} 
  }
公共类测试{
静态int方法(intr){
int x=0;
x=x+r;
如果(x=10)
返回x;}//不确定这部分代码。
返回x;
} 
公共静态void main(字符串[]arg){
int i=方法(4);
System.out.println(i);//希望它输出4
i=方法(7);
System.out.println(i);//希望它输出4,因为4+7=12.12>10
i=方法(5);//希望它输出9
System.out.println(i);}
}

x
是一个局部变量。如果希望它在调用之间保留其值,则必须将其保存在数据成员中(在本例中,是静态成员,因为
method
是静态的):

private static int x=0;
静态int方法(intr){
内部温度=x+r;
如果(温度<10){
x=温度;
}
返回x;
}

您的方法有问题,请更改为:

public class test1 {

    static int x = 0;
    static int method(int r) {

        int t = x + r;
        if (t < 10) {
            x = t;
        }
        return x;
    }


            public static void main(String[] arg) {

            int i = method(4);
            System.out.println(i); //want it to output 4

             i = method(7); 
            System.out.println(i); //want it to output 4 because 4+7= 12. 12 >10

             i = method(5); //want it to output 9
            System.out.println(i);} 
      }

if(x)下有
if(x>=10)
,您需要在方法之外定义
x
,否则它是本地的,在不同的调用中不记得它的值。请正确格式化您的代码。对于您的问题…您基本上只需返回
r
(因为
x
被初始化为
0
)…根据您的描述,您希望返回iff
r
r<10
0
否则?备注:类名应始终以大写字母开头(
test
->
test
)。
public class test1 {

    static int x = 0;
    static int method(int r) {

        int t = x + r;
        if (t < 10) {
            x = t;
        }
        return x;
    }


            public static void main(String[] arg) {

            int i = method(4);
            System.out.println(i); //want it to output 4

             i = method(7); 
            System.out.println(i); //want it to output 4 because 4+7= 12. 12 >10

             i = method(5); //want it to output 9
            System.out.println(i);} 
      }
4
4
9