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. Напишите простой пример.
Код:
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("~~~Программа для суммирования двух чисел~~~");
int rep=0;
while(rep++<2){
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);
break;
}
catch(NumberFormatException e){
System.out.println("!!!Ошибка!!!");
}
}
}
}
import java.io.InputStreamReader;
import java.io.IOException;
public class Test {
public static void main(String args []) throws IOException {
System.out.println("~~~Программа для суммирования двух чисел~~~");
int rep=0;
while(rep++<2){
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);
break;
}
catch(NumberFormatException e){
System.out.println("!!!Ошибка!!!");
}
}
}
}
do-while
Код:
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("~~~Программа для суммирования двух чисел~~~");
int rep=0;
do{
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);
break;
}
catch(NumberFormatException e){
System.out.println("!!!Ошибка!!!");
}
}
while(++rep<2);
}
}
import java.io.InputStreamReader;
import java.io.IOException;
public class Test {
public static void main(String args []) throws IOException {
System.out.println("~~~Программа для суммирования двух чисел~~~");
int rep=0;
do{
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);
break;
}
catch(NumberFormatException e){
System.out.println("!!!Ошибка!!!");
}
}
while(++rep<2);
}
}
for
Код:
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("~~~Программа для суммирования двух чисел~~~");
for(int rep=0;rep<2;rep++){
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);
break;
}
catch(NumberFormatException e){
System.out.println("!!!Ошибка!!!");
}
}
}
}
import java.io.InputStreamReader;
import java.io.IOException;
public class Test {
public static void main(String args []) throws IOException {
System.out.println("~~~Программа для суммирования двух чисел~~~");
for(int rep=0;rep<2;rep++){
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);
break;
}
catch(NumberFormatException e){
System.out.println("!!!Ошибка!!!");
}
}
}
}
З.Ы. Кактотак, код не проверял
правильно было бы сделать отдельную ф-цию readInt() которая гоняла бы цикл пока юзер не введет правильное число. в основной части -- только два вызова этой функции и никаких циклов