1. 程式人生 > >Java陣列越界錯誤:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15

Java陣列越界錯誤:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15

今天在學習Java時遇到了一個題,給你一個數組,讓你得到該陣列中數字的個數。一接觸這個題的時候我第一想法是將這個陣列通過Arrays類的toString()方法轉化為String字串,然後通過對下標的處理得到數字的個數,但是發現String類物件並不能夠直接處理下標。

然後我又將String類物件通過toCharArray()方法轉化為字元陣列,因為陣列各個位置均會初始化為0,然後遍歷該字元陣列得到結果。

public static void main(String[] args){
        int[] scores = {1, 2, 3, 4, 5};
        String l = Arrays.toString(scores);
        //char list[] = new char[100];
        char[] list = l.toCharArray();
        int number = 0;
        for(int i = 0; list[i] != 0; i++)
        {
        	if(list[i] == ' ')
        	{
        		number++;
        	}
        }
        System.out.println(number);
    }
提示:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15
at kick.HelloWorld.main(HelloWorld.java:12)
這是陣列越界的錯誤資訊,表示陣列list的下標在遍歷過程中到了15(實際上的16),而在初始化時只申請了15個位置。

聯絡我後面的提示,我得知for迴圈的終止判斷出了問題,因這個字元陣列的記憶體申請範圍是精確的,後面沒有多餘的空間,也就不存在初始化為0的陣列位置了。

相關推薦

Java陣列越界錯誤Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 15

今天在學習Java時遇到了一個題,給你一個數組,讓你得到該陣列中數字的個數。一接觸這個題的時候我第一想法是將這個陣列通過Arrays類的toString()方法轉化為String字串,然後通過對下標的處理得到數字的個數,但是發現String類物件並不能夠直接處理下標。 然後

hive錯誤Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Permission denied

用不同使用者去登入hive  可能會報如下錯誤: Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Permission denied         at org.apa

JAVA Scanner 用法注意事項(scanner 使用錯誤Exception in thread "main" java.util.NoSuchElementExceptionation )

JAVA Scanner 的一些用法注意事項 最近寫java程式碼時,在使用scanner類的時候遇到了一些問題,於是決定查詢一些資料瞭解scanner類以及一些具體使用事項。以便後續開發時作為參考。 目錄 scanner 的幾種常見用法

【解決】自己編寫Wordcount程式碼上傳叢集上執行時報錯Exception in thread "main" java.lang.ClassNotFoundException: WordCount

報錯資訊:ClassNotFoundException: WordCount [[email protected] fs_testdir]# hadoop jar /fs_testdir/my

CentOS6.5 靜默安裝Oracle 11g過程中提示Exception in threadmainjava.lang.NoClassDefFoundError

原來是系統中設定了DISPLAY環境變數,執行: [[email protected] database]$ ./runInstaller  -silent -responseFile /usr/local/oracle/response/db_inst

Elasticsaerch啟動報錯Exception in thread "main" java.nio.file.AccessDeniedException:

在elastic search的目錄下進入bin目錄 ,啟動ES用命令 ./elasticsearch然後返回錯誤Exception in thread "main" java.nio.file.AccessDeniedException: /root/home/searc

控制檯執行JAVA程式碼發生的錯誤Exception in thread "main" java.lang.NoClassDefFoundError)

1.現在很多人都在用IDE開發工具,既能增加開發效率,又因其自動補全的功能規避了很多錯誤。 但是在有需要的情況下,或測試時,我們仍然需要控制檯來執行一些程式碼。 最近,我在用控制檯執行類似DOS命令中 copy  sourcefile    desfile的功能時,程式碼在

UDP網路程式設計時出現Exception in thread "main" java.io.EOFException異常

import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.IOException; imp

Hadoop除錯Exception in thread "main"java.lang.UnsatisfiedLinkError

異常完整描述 Exception in thread "main" java.lang.UnsatisfiedLinkError:org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/la

spring boot 報錯Exception in thread "main" java.lang.NoSuchMethodError 根源在pom.xml引用的包中的JAR有衝突

Exception in thread "main" java.lang.NoSuchMethodError 突然發現一個spring boot專案tomcat啟動不起來了。 目錄下:mvn dependency:tree 檢視是不是有依賴的JAR包有衝突了 重新一個

解決問題Exception in thread "main" java.lang.NoClassDefFoundError

這兩天在Eclipse中修改一個maven專案,出現了這個問題: Exception in thread “main” java.lang.NoClassDefFoundError 這個問題在網

java編譯中出現了Exception in threadmain" java.lang.UnsupportedClassVersionError

java編譯中出現了Exception in thread “main” java.lang.UnsupportedClassVersionError 起因: StringBuilder不能賦值?不對,錯誤原因是因為下面報錯的log: 接下來,

java使用類陣列 報錯Exception in thread "main" java.lang.NullPointerException

原始碼如下: Point[] points=new Point[n];//Point是一個類 for(int i=0;i<n;i++) { System.out.print("請輸入x:"); points[i].setX(in.next

hibernate出現Exception in thread "main " java.lang.ExceptionInInitializerError錯誤解決辦法

最近複習了下hibernate的內容,用於準備面試。另外看了下尚學堂的視訊,按照步驟去做了幾個實驗, 但是在這過程中遇到了以下錯誤問題: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found bi

"Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/helpers/NOPLoggerFactory"錯誤解決方法

主要原因是hibernate-distribution-3.3.2.GA中的帶有的slf4j-api-1.5.8和最新下載的slf4j-1.6.1不相容造成的,下載一個slf4j-1.5.8包就解決問題了。

Andriod測試錯誤 Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解決

Andriod Studio 執行測試報錯  Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter 解決方法 在Android Studio 執行測試時報錯

idea運行的時候出現的問題Exception in threadmainjava.lang

ideaidea運行的時候出現的問題Exception in thread “main” java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$這類錯誤主要是環境中運行scala與idea中scala的版本不一致導致的。將他們更換為相同

Exception in threadmainjava.sql.SQLException: The server time zone value ‘?й???????’ is unrecognized or represents more than one time zone.

odin 異常 參數 執行 cif must ant -h base Exception in thread “main” java.sql.SQLException: The server time zone value ‘?й???????’ is unrecogniz

Exception in threadmainjava.sql.SQLException: No suitable driver

問題背景:通過Spark SQL的jdbc去讀取Oracle資料做測試,在本地的idea中沒有報任務錯誤。但是打包到叢集的時候報: Exception in thread “main” java.sql.SQLException: No suitable driver 測試程式碼:

idea 啟動專案報錯Exception in thread "main" io.sited.StandardException: Timed out after 30000 ms ....

Exception in thread "main" io.sited.StandardException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPr