Добрый День!!!
помогите Пожалуйста доделать задачу:
Краб Аристарх очень любит язык программирования Java и очень большие числа. Но ему иногда бывает лень выполнять с ними арифметические операции, поэтому он просит вас помочь.
Входные данные
На первых двух строках даны целые числа A и B (0 ≤ A, B ≤ ∞).
На третьей строке дан символ +, -, * или /.
Выходные данные
Целое число, результат требуемой арифметической операции.
Пример 1
input.txt:
2
2
+
output.txt
4
Мой код:
class Zadacha {
BigInteger A;
BigInteger B;
String line;
void readData() throws IOException {
FileReader fin = new FileReader("input.txt");
Scanner scr = new Scanner(fin);
A = scr.nextBigInteger();
B = scr.nextBigInteger();
line = scr.nextLine();
fin.close();
}
void SolutionofTask() throws IOException{
BigInteger c ;
for (int i = 0; i <= line.length(); ) {
if (line.charAt(1) == '+'){ c = A.add(B);}
if (line.charAt(1) == '-'){ c = A.subtract(B);}
if (line.charAt(1) == '*'){ c = A.multiply(B);}
if (line.charAt(1) == '/'){ c = A.divide(B);}
}
PrintWriter fout = new PrintWriter("output.txt");
fout.print©;
fout.flush();
fout.close();
}
}
A = scr.nextBigInteger();
B = scr.nextBigInteger();
scr.nextLine(); // Переходим на новую строку после чтения BigInteger
line = scr.nextLine(); // и уже с начала новой строки читаем операцию...
A = scr.nextBigInteger();
B = scr.nextBigInteger();
scr.nextLine(); // Переходим на новую строку после чтения BigInteger
line = scr.nextLine(); // и уже с начала новой строки читаем операцию...
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
Может, наконец, что-нибудь про Java прочитаешь? Книгу какую, например? Тысячу раз говорили тебе, что индексация начинается с 0, а не с 1 - ты опять ту же ошибку делаешь...
Зачем тебе здесь цикл вообще - непонятно. Просто switch(line.charAt(0)), и проверяй знаки...