Мне нужно написать программу, которая запрашивает у пользователя два числа, а затем выводит некоторые выходные данные

#java

#java

Вопрос:

Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как реализовать дополнительные классы в моем основном классе. В вопросе пользователь выбирает два числа со сканера, затем программа выводит сумму, разницу, произведение, среднее, расстояние, максимум и минимум двух чисел. Я знаю, как получить сумму, разницу и т. Д… но как мне сообщить основному классу их распечатать. Требуется второй класс, хотя это можно сделать в основном.Вот мой код до сих пор, основной класс:

 package p4_4_class_pair;

import java.util.Scanner;

public class P4_4_Class_Pair {

    public static void main(String[] args) {
         
        Scanner in = new Scanner(System.in);
        System.out.print("Input 1st number: ");
        in.nextDouble();
        System.out.print("Input 2nd number: ");
        in.nextDouble(); 
        System.out.println();
        
    }
    
}
  

Дополнительный класс:

 package p4_4_class_pair;

import java.util.Scanner;

public class Pair {
   
    private double sum;
    private double difference;
    private double product;
    private double average;
    private double distance;
    private double max;
    private double min;
    
    /**
     * Constructs a pair
     * @param aFirst the first value of the pair
     * @param aSecond the second value of the pair
     */
    public Pair(double aFirst, double aSecond) {
        Scanner in = new Scanner(System.in);
        aFirst = in.nextDouble();
        aSecond = in.nextDouble(); 
        
    }
    
    
    public double addSum(double a, double b){
        sum = a   b; 
        return sum; 
    }
    
    /**
     * Computes the sum of the values of this pair
     * @return the sum of the first and second values
     */
    public double getSum(){
        return sum; 
        
        
    }
    
}
  

Ответ №1:

Я немного смущен вашей реализацией. Вы считываете значения в методе main и снова внутри конструктора класса Pair.

Одна из возможных реализаций может быть такой для класса с методом main:

 import java.util.Scanner;

public class P4_4_Class_Pair {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.print("Input 1st number: ");
        double firstNum = in.nextDouble();

        System.out.print("Input 2nd number: ");
        double secondNum = in.nextDouble();

        Pair pair = new Pair(firstNum,secondNum);

        System.out.println("Sum = "   pair.sum());
        System.out.println("Difference = "   pair.difference());
        System.out.println("Product = "   pair.product());


    }

}
  

И пара классов :

 public class Pair {

    private double sum;
    private double difference;
    private double product;
    private double average;
    private double distance;
    private double max;
    private double min;
    private double firstNum;
    private double secondNum;

    /**
     * Constructs a pair
     * @param aFirst the first value of the pair
     * @param aSecond the second value of the pair
     */
    public Pair(double aFirst, double aSecond) {
        firstNum = aFirst;
        secondNum = aSecond;
    }


    public double sum(){
        sum = firstNum   secondNum;
        return sum;
    }

    public double difference() {
        difference = firstNum - secondNum;
        return difference;
        }

    public double product(){
        product = firstNum * secondNum;
        return product;
        }

}
  

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

Комментарии:

1. Да, ваш код имеет смысл, и спасибо, что направили меня в правильном направлении. Для этой программы также есть одно требование: она должна использовать этот оператор public double getSum() в классе Pair .

2. Что вы подразумеваете под использованием getSum()? Если вы имеете в виду, что хотите передать значения для метода, то вы можете сделать это: public double getSum(double n1, double n2){ return n1 n2; } затем в основном методе вы можете вызвать и передать значения: getSum(5,6); Извините, если это не то, что вы хотите.

3. Если вы измените имя метода в классе Pair, то вы должны изменить его также в основном методе. В той части, где вы это вызываете. pair.getSum();

Ответ №2:

 Pair pair =  new Pair(first, second)
  

в вашем основном методе print pair.addSum

Комментарии:

1. Это выдает мне ошибку для предоставленного кода, я переключил «first и second» на aFirst и aSecond, как у меня в моем коде. В нем говорится, что он не может найти символ, первый и второй.