从控制台获取char并将其转换为int

从控制台获取char并将其转换为int

尝试创建新方法,但是在运行期间无法正常工作

这个放在

class Matrix {
    public static void main (String  args[]) throws IOException {
        ...
        System.out.println("Enter q-ty of matrix elements i= ");
        int gormatelement = 0;
        getchartoint (gormatelement);
        ...
    }
    ...
}


和之后的方法

public static void getchartoint (int a) throws IOException{
    BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in));
    String k = bReader.readLine();
    a =  Integer.parseInt(k);
}


此代码必须从控制台获取char并将其转换为int-将用作矩阵中元素的数量

最佳答案

当您更改方法内部的简单参数变量(如a)的值时,它不会更改调用该方法(如gormatelement)时给出的变量。

最简单的方法是让该方法返回整数值和调用代码以存储它。

int gormatelement = getchartoint ();




public static int getchartoint () throws IOException{
   int a;
   ... same code ...
   return a;
}


展开式

如果您想进一步了解传递变量的概念,可以使用术语“按值调用”和“按引用调用”。

Java使用“按值调用”,但是当将包含实例变量的对象传递给方法时,很容易感到困惑,因为可以更改所包含的字段值,并且更改似乎会传播到使用此方法调用的对象。

可以这么说,实际上,对象的值实际上是对对象内容的引用。您必须考虑一会儿才能明白我的意思。

07-28 08:15