java - 输入 2 个变量(用户输入 "Buffered Reader")传递给一个类?

标签 java class bufferedreader

我是 Java 语言的初学者,我使用“文本板”。我的简单程序有问题。我的任务是输入 2 个值并一起显示“和”、“差”、“乘积”和“商”。 (简单吧?)其中,下面是应该做算术工作的类。正如我编译的那样,其中是“正确的”。

public class mathclass
{

    int x;
    int y;
    int total;


    void add ()
    {
        total = x+y;
    }

    void sub ()
    {
        total = x-y;
    }

    void multi ()
    {
        total = x*y;
    }

    void div ()
    {
        total = x/y;
    }

}

这里是主程序,应该是程序的输入和输出。 我的问题是我无法将 2 个变量(num1 和 num2)传递给“mathclass” 我研究了如何将 2 个变量传递给另一个类。但我所拥有的与我的完全不同。我确实使用了一些类似在变量上放置“私有(private)或公共(public)”的东西。 我的老师说要使用 BufferedReader 进行输入。我很难让这个程序正确。 (对不起,如果我的英语错了(如果我错了。))

import java.io.*;
public class mathmain
{

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[]args)throws IOException
    {


        mathclass math1 = new mathclass();

        System.out.print("Enter 1st Number :");
        num1 = Integer.parseInt(br.readLine());
        System.out.println(" ");

        System.out.print("Enter 2nd Number :");
        num2 = Integer.parseInt(br.readLine());
        System.out.println(" ");

        System.out.println(" ");
        System.out.println(" ");
        System.out.println(" ");

        math1.add();
        {
            System.out.print("Sum : ");
            System.out.println(math1.total);
        }
        System.out.println(" ");
        math1.sub();
        {
            System.out.print("Difference : ");
            System.out.println(math1.total);
        }
        System.out.println(" ");

        math1.multi();
        {
            System.out.print("Product : ");
            System.out.println(math1.total);
        }
        System.out.println(" ");
        math1.div();
        {
            System.out.print("Quotient : ");
            System.out.println(math1.total);
        }
    }
}

最佳答案

真的不清楚你想在这里做什么。 (为什么 add 不接受两个参数?)

也许你的追求是这样的:

// Set up arguments
math1.x = num1;
math1.y = num2;

// Perform the add.
math1.add();
// {                <-- brace completely useless.

// Print the result
System.out.print("Sum : ");
System.out.println(math1.total);
// }                <-- brace completely useless.

但是,我鼓励您使用返回值使用参数:

class MathClass {

    public int add(int a, int b) {
        return a + b;
    }

    ...
}

然后像这样使用类

int sum = math1.add(num1, num2);

System.out.println("Sum: " + sum);

关于java - 输入 2 个变量(用户输入 "Buffered Reader")传递给一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139127/

相关文章:

java - Java 系统属性是如何从主机派生的?

java - 2D 游戏中可自定义的玩家头像

Java战舰使用arraylist : comparing user input to array list

python - 无法通过类变量连接到MongoDB数据库和集合

java - 运行时进程 BufferedReader 未输出所有行 (Psexec)

java - 上传文件时处理网络问题

java - 如何在传递 int 数组参数时修复 "type annotations are illegal here"?

PHP Magic __invoke 对类的对象属性

java - 替换文件中的行

java - 行尾困惑