![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Shashlyk |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: ![]() ![]() ![]() |
Добрый День!!!
помогите Пожалуйста доделать задачу: Краб Аристарх очень любит язык программирования 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(c);
fout.flush();
fout.close();
}
}
Почему-то не хочет считывать символы арифметических операций |
![]() ![]() |
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
A = scr.nextBigInteger();
B = scr.nextBigInteger();
scr.nextLine(); // Переходим на новую строку после чтения BigInteger
line = scr.nextLine(); // и уже с начала новой строки читаем операцию...
Внимательнее читай описания методов. |
Shashlyk |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: ![]() ![]() ![]() |
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
может тут как-то по другому надо считывать и использовать арифметические знаки? |
IUnknown |
![]()
Сообщение
#4
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Может, наконец, что-нибудь про Java прочитаешь? Книгу какую, например? Тысячу раз говорили тебе, что индексация начинается с 0, а не с 1 - ты опять ту же ошибку делаешь...
Зачем тебе здесь цикл вообще - непонятно. Просто switch(line.charAt(0)), и проверяй знаки... Сообщение отредактировано: IUnknown - 9.06.2011 16:11 |
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 7:37 |