밑에 소스 이클립스에선 잘 돌아가는데
채점사이트에 올리면 계속
Exception: java.util.NoSuchElementException Maybe at: at Calculation.main(Calculation.java:14)이거 뜸.
14번째 줄이면 String string=scan2.nextLine(); 여기인데
여기서 왜 오류 나는거임? 더군다나 이클립스에선 되는데...
이게 처음에 7번째 줄에 Scanner가 nextInt()를 읽은다음에 개행문자 앞에 있다가
14번째 줄의 Scanner에서 개행문자를 읽어버려서 그런거임??
이클립스에선 되는데 채점사이트에서 안되니까 어디를 고쳐야될지 모르겄네...
import java.util.*;
public class Calculation{
public static void main(String[] args){
Scanner scan1=new Scanner(System.in);
int n=scan1.nextInt();
ArrayList<String> input=new ArrayList<String>();
for(int i=0;i<n;i++){
Scanner scan2=new Scanner(System.in);
String string=scan2.nextLine();
input.add(i,string);
}
Stack<Integer> stack=new Stack<Integer>();
for(int i=0;i<=input.size()-1;i++){
for(int j=0;j<=input.get(i).length()-1;j++){
if(input.get(i).charAt(j)>=48&&input.get(i).charAt(j)<=57)
stack.push(Integer.parseInt(input.get(i).valueOf(input.get(i).charAt(j))));
else{
int n2=stack.pop();
int n1=stack.pop();
if(input.get(i).charAt(j)=='+')
stack.push(n1+n2);
if(input.get(i).charAt(j)=='-')
stack.push(n1-n2);
if(input.get(i).charAt(j)=='/')
stack.push(n1/n2);
if(input.get(i).charAt(j)=='*')
stack.push(n1*n2);
}
}
int output=stack.pop();
System.out.println(output);
}
}
}
댓글 0