2016-05-25 13 views
0

スペースで区切られた行に与えられた個々の整数の立方体を見つけるプログラムを作った。どのように論理エラーがわかりますか?

これはプログラムです。論理的なエラーがあります。入力が文字である場合はどのような場合でも動作します。

class Cube{ 

    void process(){ 
     int i=0,sum=0,j; 
     int cube; 
     int ar[]=new int[100]; 
     Scanner scan=new Scanner(System.in); 
     while(scan.hasNext()){ 
      if(scan.hasNextInt()){ 
       ar[i]=scan.nextInt(); 
       i++; 
      } 
      else{ 
       scan.next(); 
      } 
     }  
     for(j=0;j<=i;j++){ 
      cube=ar[j]*ar[j]*ar[j]; 
      sum=sum+cube; 
     } 
     System.out.print(sum); 
    } 
    public static void main(String args[]){ 
     Cube obj=new Cube(); 
     obj.process(); 
    } 
} 

入力は、オンラインコンパイラによって与えられる:1 2 3 4 5または任意の長さ

+0

あなたの出力は何ですか、何を期待していますか? –

+3

あなたのアクチュアルの質問への答えは 'デバッグ ' – SomeJavaGuy

+0

@ JohannisK入力はオンラインコンパイラの入力パネルから与えられます。私はコンパイルし、正しい出力を得ました。テストケースを渡すことはできません –

答えて

0

の文字列として入力を取るためにこれを使用し、文字列にそれを解析することができます1 2 3 4 5として入力は1行である場合アレイ。

Scanner scan=new Scanner(System.in); 
String line[] = scan.nextLine().split(" "); //split by space 
for(int i=0;i<line.length;i++){ 
int val = Integer.parseInt(line[i]); 
int cube = val*val*val; 
} 
関連する問題