Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 08:36   #1
turtles
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 59
По умолчанию Выбор циклов

Добрый день!!!Вот простой код программы для вычисления двух чисел!!!

Код:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Test {
    public static void main(String args []) throws IOException {
        System.out.println("~~~Программа для суммирования двух чисел~~~");
         try{
             
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
           System.out.print("Введите первое число и нажмите <Enter> ");
             String str = br.readLine();
              int a = Integer.parseInt(str);
           System.out.print("Введите второе число и нажмите <Enter> ");
             String str1 = br.readLine();
              int b = Integer.valueOf(str1);
          int c  = a + b;
           System.out.println("Сумма = " + c);
         }
         catch(NumberFormatException e){
           System.out.println("!!!Ошибка!!!");
        }  
    }
}
Какой лучше цикл использовать for или do-while или while?
Например:
1. Вводим первое число, а потом второе выходит результат и выполнение программы закрывается.
2. Если ввели не правильное значение какой нибудь символ а не число, то нужно чтоб после не правильного ввода значения программа не закрывалась, а снова запрашивала вести два числовых значения, и чтоб повторение повторялась 2 раза при правильном вводе значений чисел, а если опять ввели символьное значение программа закрывалась.
3. Нужно только использовать 2 повторения при неправильном вводе символа или 1 если введины числовые значения и после этого программа завершала свою работу.
4. Напишите простой пример.
turtles вне форума Ответить с цитированием
Старый 18.05.2011, 11:05   #2
Fox
линуксоид
Форумчанин
 
Аватар для Fox
 
Регистрация: 02.11.2006
Сообщений: 157
По умолчанию

Аля как то так
Код:
public static void main(String[] args) {
		boolean flag = true;
		int i=0;
		int a=0;
		int b=0;
		int c=0;
		while (flag){
			try {
				i++;
				a = getFirstValue();
				flag=false;
			} catch (IOException e) {
				System.out.println(e.getMessage());
				e.printStackTrace();
				if (i<2) continue;
				else System.exit(1);
			} catch (NumberFormatException e){
				//System.out.println(e.getMessage());
				//e.printStackTrace();
				if (i<2) continue;
				else System.exit(1);
			}
		}
			
		flag = true;
		i=0;
		while (flag){
			try {
				i++;
				b = getSecondValue();
				flag=false;
			} catch (IOException e) {
				System.out.println(e.getMessage());
				e.printStackTrace();
				if (i<2) continue;
				else System.exit(1);
			} catch (NumberFormatException e){
				//System.out.println(e.getMessage());
				//e.printStackTrace();
				if (i<2) continue;
				else System.exit(1);
			}
		}
		c = a + b;
		System.out.println("Сумма: "+c);
		flag=false;
	}
	public static int getFirstValue() throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Введите первое число и нажмите <Enter> ");
        String str = br.readLine();
        int result = Integer.parseInt(str);
		return result;
	}
	public static int getSecondValue() throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("Введите второе число и нажмите <Enter> ");
        String str = br.readLine();
        int result = Integer.parseInt(str);
		return result;
	}
Fox вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программирование циклов с параметрами Kasia Помощь студентам 9 05.01.2011 03:17
Множитель циклов Иллидан Общие вопросы C/C++ 6 25.12.2010 16:18
Операторы циклов while, for ISV-777 Помощь студентам 2 25.11.2010 13:00
3 вида циклов mind rebel Фриланс 11 05.03.2010 15:19
Организация циклов faelar Паскаль, Turbo Pascal, PascalABC.NET 4 25.01.2009 21:30