Java 如何将变量从另一个主类返回到主类

Java 如何将变量从另一个主类返回到主类,java,Java,所以我今天刚刚学会了如何让第二课堂考虑到来自主课堂的变量 但是我如何做相反的事情,即在次要类中有一个值的变量在主要类中有相同的值 代码如下: package maiN; public class nintodec { public static void convertToDec(String number) { number = new StringBuffer(number).reverse().toString(); int numero = 0;

所以我今天刚刚学会了如何让第二课堂考虑到来自主课堂的变量

但是我如何做相反的事情,即在次要类中有一个值的变量在主要类中有相同的值

代码如下:

package maiN;

public class nintodec {
    public static void convertToDec(String number) {
        number = new StringBuffer(number).reverse().toString();
        int numero = 0;
        int mult = 1;
        for (int i = 0; i < number.length(); i++) {
            int digit = number.charAt(i);
            digit = Character.getNumericValue(digit);
            numero = numero + (mult * digit);
            mult = mult * 9;
        }
    }
}

您想使
convertToDec()
返回一个
int
,因此将
void
更改为
int
。然后您需要添加
返回数字
convertToDec
方法的末尾

这将使int返回,您可以稍后使用它

那么你主要想做什么呢

//other code..
String number=keyboard.next();
int numero = nintodec.convertToDec(number);  
System.out.println(numero)

另外,请尝试阅读和学习一些Java的命名等标准,这将使您的代码在将来更易于维护和阅读。

您的问题是关于
变量范围的,您可以通过以下方法来纠正

您有两个选择:

  • 如果您已完成计算,则打印出
    convertToDec
    内的值,因此,
    numero
    变量无需在此处可见即可打印

  • 您应该返回
    int
    ,而不是返回
    void
    ,这样您就可以在
    director
    类中使用它进行进一步的计算

  • 您的函数签名从

    public  static void convertToDec(String number){
    

    注意:不要忘记在函数中使用
    返回数字


    当您返回类型
    int
    时,您的二级类可以看到
    numero
    变量的值,因此您可以扩展其范围

    而不是返回void,为什么不返回数字?请正确设置代码格式。缩进使您的代码更易于阅读并发现潜在问题。此外,请使用java命名约定。类名称应该以大写字母开头(我编辑了您的示例以添加适当的缩进,但您需要使用命名约定)。
    String
    s在Java中是不可变的,这就是为什么
    nintodec.convertToDec(number)
    不会将
    number
    的值更改为任何值。@Mick助记符我不认为这会成为一个问题。你能解释得更清楚些吗?
    public  static void convertToDec(String number){
    
    public  static int convertToDec(String number){