2013-10-31 31 views
-2

我不得不把用戶輸入int作爲一個序列的DNA長度。我試着去回報numberString但每次我必須編寫一個使用DNA,RNA和蛋白質類的代碼。我卡在第一部分

驅動

import java.util.Scanner; 
public class GenBank1 { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     Scanner in = new Scanner(System.in); 
     System.out.println("Enter a desired DNA sequence length, between 1 and 10 please:"); 
     int inputLength = in.nextInt(); 
     System.out.println(inputLength); 
     System.out.println(DNA1.toNumString(inputLength)); 

     int[] baseId = new int[inputLength]; 
     for(int i=0;i<=baseId.length;i++){ 
      baseId[i]=inputLength; 
      int rndmr = (int)(4.0*Math.random()); 
      baseId[i]-=rndmr; 
       System.out.print(baseId[i]+1 + ","); 
     }  
    }  
} 
+1

請更好地描述你的問題。什麼是確切的問題正在發生?你想要發生什麼? – char1es

+3

你必須更具描述性。如在,你有什麼問題? –

+1

查看http://sscce.org,瞭解如何提出一個好問題的提示,然後編輯問題。 – hyde

回答

0

我與我的數組的問題如果不知道DNA1類是什麼,程序的功能是什麼,我也不能評論進一步。但是,是的,你會體驗ArrayIndexOutOfBoundsException異常糾正這個下面應該工作

import java.util.Scanner; 
public class GenBank1 { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    Scanner in = new Scanner(System.in); 
    System.out.println("Enter a desired DNA sequence length, between 1 and 10 please:"); 
    int inputLength = in.nextInt(); 
    System.out.println(inputLength); 
    System.out.println(DNA1.toNumString(inputLength)); 

    int[] baseId = new int[inputLength]; 
    for(int i=0;i<baseId.length;i++){ 
     baseId[i]=inputLength; 
     int rndmr = (int)(4.0*Math.random()); 
     baseId[i]-=rndmr; 
      System.out.print(baseId[i]+1 + ","); 
    }  
}  
} 

你的結局條款爲您的循環希望從0到去 - >長度這將是錯誤的,你會在數組索引。

4
for(int i=0;i<=baseId.length;i++) 

你或許應該做

for(int i=0;i<baseId.length;i++) 

以來,與(比如說)10個條目的陣列,他們將不得不指數0到9試圖查找陣列[10]將拋出一個異常。

相關問題