Функции-члены, показывающие ошибку в JAVA (intelliJ IDEA) - PullRequest
0 голосов
/ 02 октября 2018

Я кодировал программу, которая находится в intelliJ IDEA. Но я не знаю, все ли функции (объекты) показывают ошибку, говоря: 1. Не удается разрешить метод "MulCom (complex1)" 2. Не удается разрешить метод "SumCom (complex1)) "3. Не удается разрешить метод" SubCom (complex1) "

Код выглядит следующим образом:

import java.util.Scanner;
public class complex1 {
    public static void main(String[] args) {
        complex1 arg1 = new complex1();
        complex1 arg2 = new complex1();
        arg1.input();
        arg1.show();
//  complex arg1;
        arg2.input();
        arg2.show();
        complex1 c = new complex1();
        System.out.println("Sum:");
        c.SumCom(arg2);
        c.show();
        System.out.println("Product:");
        c.MulCom(arg2);
        c.show1();
        System.out.println("difference:");
        c.SubCom(arg1);
        c.show();
    }
}

    class complex
    {
        double re, img;
        double a, b;

        complex() {
            re = 0;
            img = 0;
            a = 0;
            b = 0;
        }

        public void input() {
            System.out.println("Real:");
            Scanner re = new Scanner(System.in);
            System.out.println("Imagnary:");
            Scanner img = new Scanner(System.in);
        }

        public complex SumCom(complex arg1) {
            complex temp = new complex();
            temp.re = arg1.re + arg1.re;
            temp.img = arg1.img + arg1.img;
            return temp;
        }

        public complex SubCom(complex arg1) {
            complex temp = new complex();
            temp.re = arg1.re - arg1.re;
            temp.img = arg1.img - arg1.img;
            return temp;
        }

        public complex MulCom(complex arg1) {
            complex temp = new complex();
            temp.a = ((arg1.re) * (arg1.re)) - ((arg1.img) * (arg1.img));
            temp.b = ((arg1.re) * (arg1.img)) + ((arg1.re) * (arg1.img));
            return temp;

        }

        public void show() {
            System.out.println(re + "," + img + "i");
        }

        public void show1() {
            System.out.println(a + "," + b + "i");
        }
    }

Я новичок в JAVA, поэтому мне нужна помощь для назначения.

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

SumCom принимает комплексный параметр, который не может быть преобразован в complex1.

Также недопустим вызов arg1.input.

Просто измените параметры arg1 на complex с complex1.

0 голосов
/ 02 октября 2018

Вы создаете экземпляры complex1, но пытаетесь вызвать методы, определенные в классе complex.Таким образом, вы получаете сообщение об ошибке, поскольку complex1 не имеет метода input() или show().

Так что если вы измените это:

complex1 arg1 = new complex1();
complex1 arg2 = new complex1();
. . .
complex1 c = new complex1();

на это:

complex arg1 = new complex();
complex arg2 = new complex();
. . .
complex c = new complex();

, это будет работать.

Здесь используется более значимое иотличные имена, как подсказал @JFPicard, помогут.Вы ничего не перепутаете.

Кроме того, в качестве примечания, в Java принято, что имена классов начинаются с заглавной буквы.Таким образом, эти классы должны называться Complex и Complex1.Но опять же, вы должны дать им более четкие имена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...