Мне нужна помощь в исправлении моего кода, я не знаю, как заставить его дать мне результат в самом конце - PullRequest
0 голосов
/ 16 июня 2020

Ниже приведен код, над которым я работаю. Я покажу ввод и вывод, который я получаю, и вывод, который я хочу. Я пытаюсь получить код, чтобы получить общее количество рабочих на месте и вне его в самом конце.

string name, DOB, status;
int hours;
System.out.print("how many worker: ");
       int number = sr.nextInt();

       int countworker = 0;
       for (int l = 0; l < number; l++) {
     System.out.print("What is ther name ");
           name = sr.next();

           System.out.print("What is their DOB ");
           DOB = sr.next();

           System.out.print("How many hours is he/she working ");
           hour = sr.nextInt();

           System.out.println("What is their Status: fulltime_onsite, parttime_onsite, offsite  ");
           status = sr.next();
int countoffsite = 0, countonsite = 0;

          switch (status) {
case "fulltime_onsite":
    System.out.println("pa " + 3465 ) ; 
    countonsite++;
    break;
case "parttime_onsite":
    System.out.println("pay" + 1305) ) ; 
    countonsitee++;
    break;
case "offsite ":
    System.out.println("pay" + 1620) ) ; 
    countoffsite++;
  break;
}

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

name: tom
DOB: 12/3/98
hour: 45
status: fulltime_onsite
pay: 3465
name: jerry 
DOB: 3/6/90
hour: 45
status: parttime_onsite
pay: 1305
name: harry
DOB: 6/7/89
hour: 15
status: offsite
pay: 1620

Я хочу, чтобы код заканчивался словами

Off Site: 1
 On site: 2

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Предполагая, что вы получаете результат, отображаемый в вопросе. Я считаю, что если вы поместите обе переменные за пределы для l oop, это должно решить проблему. Вы можете распечатать результат позже.

int countoffsite = 0, countonsite = 0;
0 голосов
/ 16 июня 2020

Просто поместите переменные countonsite, countoffside за пределы for l oop, если отображение System.out.println () находится за пределами for l oop.

Область этих переменных является локальной для л oop. Это означает, что они не существуют после l oop. Размещение их вне for l oop позволит вам получить доступ к значениям, которые эти переменные содержат за пределами l oop. Следовательно, вы можете использовать их для отображения.

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