无法通过 Java 中的方法修改字符串变量 [duplicate]

Unable to modify String variable through method in Java [duplicate]

提问人:Allalilacias 提问时间:10/5/2023 更新时间:10/5/2023 访问量:23

问:

我目前正在学习 Java,但在理解如何使用方法修改字符串变量指向的对象时遇到了问题。

我正在努力制作一个代码来返回更大和更小的数组,并通知是否有任何重复项。我知道,这可以通过 if/else 轻松实现,但这不会帮助我学到很多东西,因为唯一允许它的是练习的数组列表的小尺寸。

如果我在主类中使用它,GestionarNumeros() 方法中的代码可以正常工作,但如果我使用它创建一个方法然后执行它,则无法正常工作。我知道 s 是不可变的,但我不确定如何操作,或者是否有可能使代码与方法一起使用。我将不胜感激任何帮助或指向可以找到我需要的信息的地方。string

我将把我的代码留在下面:

public static void main(String[] args) {

    ArrayList<Integer> numeros = new ArrayList<Integer>();
    Scanner sc = new Scanner(System.in);
        
    String res = "";
        
    añadirNumeros(sc,numeros);
    Collections.sort(numeros);
    GestionarNumeros(numeros,res);
    System.out.println(res);
        
    }

    public static void añadirNumeros (Scanner sc, ArrayList<Integer> numeros) {
        while (numeros.size() < 3) {
        System.out.println("Introduzca número:");
        int num = sc.nextInt();
        numeros.add(num);
            }
        }
    public static void GestionarNumeros (ArrayList<Integer> numeros, String res) {
        res = "El número más pequeño es el " + numeros.get(0) + "."
            + "\nEl número más grande es el " + numeros.get(2) + "."
            + "\nDuplicados: ";
        for(int a = 0; a < numeros.size(); a++) {  
            for(int b = a + 1; b < numeros.size(); b++) {  
                if(numeros.get(a) == numeros.get(b)) {  
                   res = res + " " + numeros.get(b) + ".";
                    }
                }
            }
        }
Java 字符串 方法 不可变性

评论

2赞 rgettman 10/5/2023
改为从方法返回。res

答: 暂无答案