Не получается ввести целочисленные значения при запуске приложения? Это просто показывает результат "оценка c" - PullRequest
1 голос
/ 19 февраля 2020

Схема окладов для компании приводится следующим образом:

Диапазон окладов для класса A: 700 - 899

Диапазон окладов для класса B: 600 - 799

Диапазон окладов для класса C: от 500 до 649 долларов

Человек с окладом от 600 до 649 долларов находится в классе C, если его заслуги ниже 10, иначе он класс B. Лицо, чья зарплата составляет от 700 до 799 долларов, относится к классу B, если его баллы за заслуги ниже 20, в противном случае он оценивается как класс А. Напишите программу для определения зарплаты человека и его баллов за заслуги и отобразите его оценку. .

package trydontquit1;
import java.util.*;

public class tryagain { 
    public int salary;  
    public int merits;

    public class employee {
        employee (int inputsalary, int inputmerits){
            salary = inputsalary;
            merits = inputmerits;
        }       

        //grade the input in regard to salary and merits point
        void grade() { 
            int c = 0, b = 0, a = 0;
            c = salary - 600;
            b = salary - 700;
            a = salary - 800;
            if (c <= 49 && merits < 10)
                System.out.println("Grade = C");
            else if (b <= 99 && merits < 20)
                System.out.println("Grade = B");
            else if (b > 99)
                System.out.println("Grade = A");
        }
    }
    //to instantiate an object and to grade employee
    public static void main(String[] args) { 
        int x=0, y=0;       
        System.out.println("Grading of employee");  
        tryagain tryagain = new tryagain();
        employee sc = tryagain.new employee(x,y);
        System.out.println("Please enter salary\n");
        Scanner i = new Scanner(System.in);
        System.out.println("Please enter merits\n");
        Scanner j = new Scanner(System.in);
        sc.grade();
    }
}

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Кажется, вы не читаете входные данные. Вам нужно изменить поток кода внутри метода main. пожалуйста, проверьте ниже код:

public static void main(String[] args) {
    int x = 0, y = 0;
    System.out.println("Grading of employee");
    tryagain tryagain = new tryagain();
    Scanner i = new Scanner(System.in);
    System.out.println("Please enter salary\n");
    x = i.nextInt();
    System.out.println("Please enter merits\n");
    y = i.nextInt();
    employee sc = tryagain.new employee(x, y);
    sc.grade();
}
0 голосов
/ 19 февраля 2020

См поток

int x=0, y=0;       

new employee(x,y);

employee (int inputsalary, int inputmerits){
        salary = inputsalary;
        merits = inputmerits;
 }  

c = salary - 600;

зарплата всегда 0

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