IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> [Java] считывание формулы из файла
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


Добрый Вечер!!! smile.gif Помогите Пожалуйста переделать программу так, чтобы формула, которую надо вычислить содержалась в файле "a.txt":
package formula;

import java.io.IOException;
import java.io.InputStreamReader;

public class Formula {


public static void main(String[] args) throws IOException{
System.out.println("Введите формулу: ");
Formula f = new FormulaA();
int res = f.parseFormulaA();
System.out.println("результат: " + res);
}

InputStreamReader isr;

FormulaA(){
isr = new InputStreamReader(System.in);
}

int parseFormula() throws IOException {
int sym = isr.read();
if (sym != -1){
char ch = (char)sym;
if (Character.isDigit(ch)){
return Character.digit(ch, 10);
}

int left = parseFormula() ;
ch = (char)isr.read();
int right = parseFormula();
int result;
switch(ch){
case '+': result = left + right; break;
case '-': result = left - right; break;
default:
result = left * right; break;
}
ch = (char)isr.read();
return result;
}
return 0;
}
}


Можно ли использовать такую вот вещь: InputStreamReader isr1 = new InputStreamReader("input.txt"); ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 38
Пол: Мужской

Репутация: -  0  +


package formula;

import java.io.IOException;
import java.io.InputStreamReader;

public class Formula {


public static void main(String[] args) throws IOException{
/*System.out.println("Введите формулу: ");
Formula f = new FormulaA();
int res = f.parseFormulaA();
System.out.println("результат: " + res); */
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("input.txt"),
"8859_1"));
String str = in.readLine();
System.out.println(str);
}

InputStreamReader isr;

/*FormulaA(){
isr = new InputStreamReader(System.in);
} */

int parseFormula() throws IOException {
int sym = isr.read();
if (sym != -1){
char ch = (char)sym;
if (Character.isDigit(ch)){
return Character.digit(ch, 10);
}

int left = parseFormula() ;
ch = (char)isr.read();
int right = parseFormula();
int result;
switch(ch){
case '+': result = left + right; break;
case '-': result = left - right; break;
default:
result = left * right; break;
}
ch = (char)isr.read();
return result;
}
return 0;
}
}


Данные из файла считываются, но не выводится ответ на экран((( Помогите Пожалуйста переделать код smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 22:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name