Цитата:
Сообщение от Aquanox
Для начала идентификаторы, одна буква конечно кратко, но все же это чересчур кратко. Имена классов должны понятные: DistanceType либо DistanceUnit вместо m и Route вместо c.
Имена полей не должны начинаться с префиксов _ либо m / f, в Java используется camelCaseNames для всего и UpperCamelCase для имен классов.
Практически невозможно понять что код пытается делать из-за смеси однобуквенных имен классов и переменных.
this внутри класса можно опускать и обращаться к полям напрямую, тоесть вместо this.myProperty писать myProperty (однако, как исключение обязательно если происходит перекрытие имен, но тут это не важно)
|
Спасибо, я это учту. Как бы не много извращенский получился код, но больше уклон делал на ООП, нежели процедурным. Т.е. не мог понять наследование, как это работает и в итоге поизащерясь, все стало на свои места.
Когда дописал код в классах (тем самым оптемезируя его) - я приступил описывать запуск программы.
PHP код:
System.out.print("Введите значение: ");
String resault = read.readLine();
И захотелось мне поставить проверку, если пользователь ввел НЕ число, то ввести повторно и тут такой аспект, как это лучше сделать: исключение или if/else. И к сожалению, незнаю, как проверить именно на число.
и еще
PHP код:
/*
*Integer.valueOf(resault) - число, которое ввел пользователь.
*c m = new c(v.nextInt(30), "маршурут №"); - создаем объект и передаем свойства.
*m.setMess(m.Strel(m.Mera(v.nextInt(5)))):
* v.nextInt(5) - рандом число
* m.Mera() - получаем значение вычисления
* m.Strel() - получаем значение вычисления
* m.setMess() - выводим на экран
* */
for(int i =0; i <= Integer.valueOf(resault);i++){
c m = new c(v.nextInt(30), "маршурут №");
m.setMess(m.Strel(m.Mera(v.nextInt(5))));
/*Результат: маршурут № 27
Результат: маршурут № 1
Результат: маршурут № 6
Результат: маршурут № 6
Результат: маршурут № 13
Результат: маршурут № 27
Результат: маршурут № 28
Результат: маршурут № 8
Результат: маршурут № 6
Результат: маршурут № 2
Результат: маршурут № 10
отсортировать результат цикла на повторяющиеся данные
и вывести на экран
*/
}
Что лучше будет, массив, коллекции или еще один цикл?
Спасибо!
Добавлено через 2 минуты
Цитата:
Сообщение от Ashe
Здесь можно использовать Scanner:
Scanner sc = new Scanner(System.in); // создаём объект класса Scanner
System.out.print("Введите целое число: ");
if (sc.hasNextInt()) // возвращает истинну если с потока ввода можно считать целое число
{
int i = sc.nextInt(); // считывает целое число с потока ввода и сохраняем в переменную
System.out.println(i);
}
else
{
System.out.println("Вы ввели не целое число");
}
Code: Java
|
Спасибо, а только через класс Scanner можно усуществить данную проверку или есть инной способ более эффектный.