java - 在替换方法中没有获取值 x 和 y,即(10 和 5)?

标签 java class methods constructor scope

package interview_programs;
public class Swapping {

    int x,y ;

    Swapping(int a, int b){ 
    int x = a;      
    int y = b;
    System.out.println("the valueof x is" + x);
    System.out.println("the valueof y is" + y);     
    }

    public void replace(){
    x = x + y;
    y = x - y;
    x = x - y;          
    System.out.println("the value after swap");
    System.out.println("the valueof x is" + x);
    System.out.println("the valueof y is" + y);             
    }   

    public static void main (String args[]) {   
    Swapping Swap = new Swapping(10,5);
    Swap.replace(); 
    }
}

这是控制台上的输出。

输出:

x 的值为 10

y 的值为 5

交换后的值

x的值为0

y的值为0

最佳答案

您不会初始化类级别的 x 和 y,而是初始化构造函数中的局部 x 和 y。

将“int x = a”替换为“x = a”,将“int y = b”替换为“y = b”。

关于java - 在替换方法中没有获取值 x 和 y,即(10 和 5)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577556/

相关文章:

java - 您在哪里/如何使用 Android 注释?

php - 单击更改 css

java - 返回 double 的 int 方法

c++ - 类 : "expected unqualified-id before ' volatile'"? 中的 volatile 变量

c++ - 如何在类的方法参数中使用模板

java - 多次调用一个方法

python - 如何在我自己的类方法中使用 `with open`?

java - 将纯文本解析为某些结构化对象

java - 在 Java 中扭曲

Java:如何将带有月份名称的字符串转换为日期时间?