Авторские Материалы о событиях в Израиле на Ближнем Востоке и в мире

IsraMir.com - Израильская журналистика

Default color brown color green color red color blue color
Вы сейчас тут: Новости arrow Техотдел arrow Свет ученья arrow Таким будет уровень?
Skip to content
Таким будет уровень? Версия для печати Отправить на e-mail
Sunday, 14 May 2006 | Зэев Фрайман для раздела Ученье – свет
Такимбудетуровень?Javaisramir.comС сентября мы в израильских школах начинаем переход на Java и С#, и при Институте им. Вайцмана в Реховоте (фактически – израильская Академия наук) работает команда, готовящая официальный учебник от имени министерства образования. В Интернете стали доступны части будущего учебника (выход обещают этим летом) – один пример из него я предлагаю вашему вниманию.
 
Задача
В туристическом агентстве «Плати и езжай» предлагают 100 маршрутов экскурсий (пронумерованных от 1 до 100). В каждую группу могут быть включены до 50 человек и желающие могут записаться на нее только в том случае, если имеются свободные места.
Напиши программу для записи желающих на экскурсии: каждый вводит имя участника и номер экскурсии, которую он выбирает. Программа должна распечатать список экскурсий, отсортированный по числу записавшихся на него участников. Для каждой экскурсии программа должна указывать число записавшихся и имена всех записавшихся на нее.
 
class Trip
{
private final int MAX_PASSENGER_PER_TRIP =50;
private int tripNum;
private int passengersNum = 0;
private String[] passengers;
 
public void Trip(int tripNum)
{
this.passengers = new String[MAX_PASSENGER_PER_TRIP];
this.tripNum = tripNum;
}
 
public int getTripNum()
{
return this.tripNum;
}
 
public int getNumberOfPassengers()
{
return this.passengersNum;
}
 
public void printPassengers()
{
 
int i;
 
for (i= 0; i < this.passengersNum; i++)
{
 
System.out.println(passengers[i]);
}
}
 
public boolean addPassenger(String passenger)
{
 
if (this.passengersNum < this.MAX_PASSENGER_PER_TRIP-1)
{
 
this.passengers[this.passengersNum] = passenger;
this.passengersNum++;
return true;
} // if
 
return false;
} // addPassenger
}// class Trip
 
public class Main
{
public static void main(String[] args)
{
final int TRIPS_NUM = 100;
Trip[] tripsList = new Trip[TRIPS_NUM];
int passenger, trip;
String passengerName;
int passengerNum;
int passengerNumberOfTrips;
int tripNum;
int passTrips;
int num;
int i,r;
 
for (i = 0; i < TRIPS_NUM; i++)
{
tripsList[i] = new Trip(i + 1);
}
 
passengerNum = InputRequestor.requestInt("Insert the number of people");
 
for (passenger = 0; passenger < passengerNum; passenger++)
{
passengerName = InputRequestor.requestString("Insert the passenger mame");
passengerNumberOfTrips = InputRequestor.requestInt("Insert the number of trips the passenger wants to subscribe to");
 
for (trip = 0; trip < passengerNumberOfTrips; trip++)
{
 
tripNum = InputRequestor.requestInt("Insert the trip number);
tripsList[tripNum-1].addPassenger(passengerName);
} // for trip
} // for passenger
 
Trip temp;
 
for (i = 0; i < tripsList.length - 1; i++)
{
for (r = i + 1; r < tripsList.length; r++)
{
if (tripsList[i].getNumberOfPassengers() <=
tripsList[r].getNumberOfPassengers())
{
temp = tripsList[i];
tripsList[i] = tripsList[r];
tripsList[r] = temp;
} // if
} // for r
} // for i
 
for (i = 0; i < tripsList.length ; i++)
{
System.out.println("Trip " + tripsList[i].getTripNum() + " has "+ tripsList[i].getNumberOfPassengers() + " passengers");
tripsList[i].printPassengers();
} // for
} // main
} // class Main
 
 

Добавить комментарий

:D:lol::-);-)8):-|:-*:oops::sad::cry::o:-?:-x:eek::zzz:P:roll::sigh:


Автотранслитерация: выключена

Защитный код

Powered by jComments