Повторная помощь программы? - PullRequest
1 голос
/ 13 февраля 2011

Хорошо, так что я в другом тупике с моей программой.Мне нужно это повторить, но я не понимаю, что я читаю в тексте о том, как это сделать.Он охватывает только повторяющиеся значения, например, программу успеваемости.В любом случае мне нужно, чтобы программа продолжала повторяться до тех пор, пока пользователь не введет «стоп» в качестве имени сотрудника. Пока это мой код:

package payroll_program_2;import java.util.Scanner;

    public class payroll_program_2 {
        public static void main(String[] args) {

        Scanner input = new Scanner( System.in );
        float hours;                                           
        float rate;                                              
        String name;
        float total_pay;


    System.out.println("Please enter employee name");       
        name = input.nextLine();
            if("stop".equals(name))
            { return;
            }

    System.out.println("Please enter hourly rate");             
        rate = input.nextFloat();                               
        if (rate <0)                                             
            {                                                     
                System.out.println("Pay rate cannot be negative");
                System.out.println("Please enter hourly rate");
                rate = input.nextFloat();
            }
    System.out.println("Please enter hours worked");            
        hours = input.nextFloat();                               
         if (hours <0)
            {
                System.out.println("Hours cannot be negative");
                System.out.println("Please enter hours worked");
                hours = input.nextFloat();
            }
    System.out.println("Employee's total pay for this week");  
        total_pay = hours*rate;                                   

    System.out.printf("The total pay for %s is $%.2f\n", name, total_pay);        


        }

}

Ответы [ 5 ]

2 голосов
/ 13 февраля 2011

Вам необходимо добавить цикл while или цикл for, например:

while (true) {
   // .. read some input ...
   if ( /* input is "stop" */ ) {
      break; // this causes the loop to exit
   }
}
1 голос
/ 13 февраля 2011
 while (true) {...}
1 голос
/ 13 февраля 2011

Вы можете просто включить:

while (true) {

}

вокруг вашего кода, и для каждого ввода произнесите.

if («стоп» .equals (вход) перерыв;

0 голосов
/ 13 февраля 2011

вы должны иметь следующий оператор while

hasNextLine () метод проверяет, нужно ли читать строку из stdin.

while ( input.hasNextLine() )
{

     // your code goes here
}
0 голосов
/ 13 февраля 2011

Идея разрыва будет работать нормально, но другой способ сделать это - обернуть все это в

while(! name.equals("stop")){...}

и все после ввода имени в похожем случае, еслиоператор

(if(! name.equals("stop"))){...}

, чтобы он не выполнялся.Выйти из цикла, наверное, проще всего, но я знаю, что есть люди, которые не одобряют использование операторов break.

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