首页 > 解决方案 > 如何为多个变量设置相同的值?

问题描述

原始代码 - 尝试将每个设置inpname()

import java.util.Scanner;


class U1_L2_Activity_Two {

    public static void main(String[] args) {
        
        String inp1, inp2, inp3 = name()*3;
        
        System.out.println(String.format("%s\n%s\n%s\n\n%s %s %s", inp1, inp2, inp3, inp3, inp2, inp1));
    }
    public static String name() {
        return new Scanner(System.in).nextLine();
    }
    }

想要类似的东西:

String inp1, inp2, inp3 = name()*3;

代替:

String inp1 = name(), inp2 = name(), inp3 = name();

标签: javavariables

解决方案


你可以这样做:

String inp1, inp2, inp3 = inp2 = inp1 = name();

字符串不是这种情况(因为它们是不可变的),但请注意,它们都有相同的引用,所以如果你改变一个,你就会改变其他的。如果您不希望这样,则需要单独分配它们(如果我错了,请纠正我)。例如:

List<Integer> a, b = a = new ArrayList<>();
a.add(5); // 5 will also be added to b

推荐阅读