真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java數(shù)組越界的示例分析

小編給大家分享一下Java數(shù)組越界的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供繁昌企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為繁昌眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

Java中數(shù)組初始化和OC其實(shí)是一樣的,分為動(dòng)態(tài)初始化和靜態(tài)初始化,

動(dòng)態(tài)初始化:指定長(zhǎng)度,由系統(tǒng)給出初始化值

靜態(tài)初始化:給出初始化值,由系統(tǒng)給出長(zhǎng)度

在我們使用數(shù)組時(shí)最容易出現(xiàn)的就是數(shù)組越界問題,好了,這里有個(gè)簡(jiǎn)單的例子

 int [][] array = {{1,2,3},{1,4}};
    System.out.println(array[1][2]);

這是一個(gè)二維數(shù)組,很明顯,數(shù)組越界了,控制臺(tái)中會(huì)打印如下信息:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2

 at demo.Array.main(Array.java:31)

很準(zhǔn)確的定位到31行。

下面看看一個(gè)完整的代碼示例:

package home_work_4_17;
abstract class Employee{
	abstract double earnings();
}
class YearWorker extends Employee{
	double earnings(){
		System.out.println("按年領(lǐng)取1000");
		return 1000;
	}
}
class MonthWorker extends Employee{
	double earnings(){
		System.out.println("按月領(lǐng)取100");
		return 100;
	}
}
class WeekWorker extends Employee{
	double earnings(){
		System.out.println("按星期領(lǐng)取10");
		return 10;
	}
}
class Company{
	int n;
	//該公司的人數(shù)
	public Company(int n) {
		this.n=n;
		// TODO Auto-generated constructor stub
	}
	Employee E[]=new Employee[n];
	double cal(){
		//返回薪水綜合
		double sum=0;
		for (int j=0;j

編譯器顯示數(shù)組越界錯(cuò)誤。

經(jīng)檢查發(fā)現(xiàn)劃線部分語句出錯(cuò)

應(yīng)當(dāng)做如下修改:

class Company{
  int n;  //該公司的人數(shù)
   Employee E[]; 
  public Company(int n) {
    this.n=n;// TODO Auto-generated constructor stub
    E=new Employee[n];  
   }
  double cal(){    //返回薪水綜合
    double sum=0;
    for(int j=0;j

出錯(cuò)原因是:當(dāng)Company構(gòu)造方法中并未對(duì)數(shù)組E進(jìn)行初始化操作,故而E數(shù)組大小仍然為0,發(fā)生數(shù)組越界錯(cuò)誤。

利用上述錯(cuò)誤方式編寫的測(cè)試程序如下:

package test_a;
class people{
  int n;
  Student s[]=new Student[n];
  public people(int n) {
    this.n=n;// TODO Auto-generated constructor stub
  }
}
class Student{
  int number;
}
public class Cdcs {
  public static void main(String args[]) {
    people p=new people(3);
    System.out.println(p.s.length);
  }
}

輸出結(jié)果為0。即數(shù)組大小為零。

以上是“Java數(shù)組越界的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:Java數(shù)組越界的示例分析
網(wǎng)站URL:http://weahome.cn/article/jsdcjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部