- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
package practice;
import java.io.IOException;
import static java.lang.System.in;
import java.util.Scanner;
public class Practice {
static int j = 0;
public static char [] c() {
String s;
Scanner reader = new Scanner(in);
s = reader.next();
byte n = (byte) (s.length()+5);
char [] c;
c = new char[n];
for(int i = 1;i<=s.length();i++) {
c[i] = s.charAt(i-1);
}
return c;
}
public static int slag(char [] c) throws IOException {
int i = 0;
j++;
if(c[j]>='0' && c[j]<='9') {
while(c[j]>='0' && c[j]<='9') {
i = i*10 + c[j] - '0';
j++;
}
}
switch (c[j]) {
case '+':
case '-':
return sum(c,i);
case '(':
return slag(c);
case ')':
return i+sum(c,i)+slag(c);
case '.':
return i;
default:
break;
}
return i;
}
public static int sum(char [] c,int i) throws IOException {
if(c[j]=='+')
return i+slag(c);
else
if(c[j]=='-')
return i-slag(c);
return 0;
}
public static void main(String[] args) throws IOException {
char [] c;
c = c();
System.out.println(slag(c));
}
}
Рекурсивный String-калькулятор . операции + - .
Школьный практикум.
вместо посимвольного считывания используется массив .
Как реализовать посимвольное считывание в java .
Есть ли функция типа cin или read ?