它不要求输入,直接通过

时间:2018-04-14 03:09:23

标签: java input error-handling custom-error-handling

它是一个简单的java代码,当我编译它时,没有错误显示,cumpiling就好了。但是,当我运行它,直接通过,不要求任何输入或显示任何输出... 不能告诉我它发生了什么,我是一个乞丐,所以如果有人能告诉我如何让它运行...

import java.util.Scanner;
public class Empresa{
    public static void main(String[] args) {
        int cod, nasc, ingr, atual=2018, i=0;
        Scanner entrada = new Scanner(System.in);
        while(i>3){
            i++;
        System.out.println("Escreva o codigo do funcionario:");
        cod = entrada.nextInt();
        System.out.println("Escreva o ano de nascimento do funcionario:");
        nasc = entrada.nextInt();
        System.out.println("Escreva o ano de ingresso do funcionario:");
        ingr = entrada.nextInt();
        if(((atual-nasc)>=65)||((atual-ingr)>=30)||(((atual-nasc)>=60)&&((atual-ingr)>=25)))
            System.out.println("Requerer aposentadoria");
        else
            System.out.println("Nao requerer");
    }
}

}

2 个答案:

答案 0 :(得分:1)

    import java.util.Scanner;
    public class Empresa{
    public static void main(String[] args) {
        int cod=0, nasc=0, ingr=0, atual=2018, i=0;
        Scanner entrada = new Scanner(System.in);
        while(i<3){
            i++;
        System.out.println("Escreva o codigo do funcionario:");
        cod = entrada.nextInt();
        System.out.println("Escreva o ano de nascimento do funcionario:");
        nasc = entrada.nextInt();
        System.out.println("Escreva o ano de ingresso do funcionario:");
        ingr = entrada.nextInt();
        if(((atual-nasc)>=65)||((atual-ingr)>=30)||(((atual-nasc)>=60)&&((atual-ingr)>=25)))
            System.out.println("Requerer aposentadoria");
        else
            System.out.println("Nao requerer");
    }
}

你需要为整数设置值并修复你的时间,如果你的代码不再运行,你应该分享你的错误..

答案 1 :(得分:0)

while循环中的逻辑错误。作为i=0,您的循环条件为i>3,它将返回false并且不会执行循环块。将循环条件更改为i<3,这将返回true,直到i短于3并且循环块将执行3次。

import java.util.Scanner;
    public class Empresa{
    public static void main(String[] args) {
        int cod=0, nasc=0, ingr=0, atual=2018, i=0;
        Scanner entrada = new Scanner(System.in);
        while(i<3){
            i++;
        System.out.println("Escreva o codigo do funcionario:");
        cod = entrada.nextInt();
        System.out.println("Escreva o ano de nascimento do funcionario:");
        nasc = entrada.nextInt();
        System.out.println("Escreva o ano de ingresso do funcionario:");
        ingr = entrada.nextInt();
        if(((atual-nasc)>=65)||((atual-ingr)>=30)||(((atual-nasc)>=60)&&((atual-ingr)>=25)))
            System.out.println("Requerer aposentadoria");
        else
            System.out.println("Nao requerer");
    }
}