「java数组教案」java数组的实现原理

博主:adminadmin 2023-03-21 22:11:09 428

本篇文章给大家谈谈java数组教案,以及java数组的实现原理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java程序实验十一 面向对象 实验目的: 数组及集合的使用及实现; 要求: 掌握数组及集合操作的

package com;

import java.util.*;

public class Student{

private String name;

private String id;

private double sumscore;

public Student(String name,String id,double sumscore){

this.name=name;

this.id=id;

this.sumscore=sumscore;

}

public String toString() {

return "name:"+getName()+" id:"+getId()+" sumscore:"+getSumscore();

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public double getSumscore() {

return sumscore;

}

public void setSumscore(double sumscore) {

this.sumscore = sumscore;

}

public static void main(String[] args) {

Student []s={new Student("A","1",12),new Student("B","2",22),new Student("C","3",32),

new Student("D","4",142),new Student("E","5",152),new Student("F","6",262),new Student("G","7",72),

new Student("H","8",182),new Student("I","9",92),new Student("J","10",102)

};

s=bubbleSort(s);

VectorStudent vector = new VectorStudent();

vector.addAll(Arrays.asList(s));

for (IteratorStudent iter = vector.iterator(); iter.hasNext();)

{

Student student = iter.next();

System.out.println(student.toString());

}

List Studentlist=new ArrayListStudent();

list=Arrays.asList(s);

for(Student str:list){

System.out.println(str.toString());

}

Hashtable Integer,Studenttable =new HashtableInteger,Student();

for(int i=0;is.length;i++){

table.put(i, s[i]);

}

for(int i=0;is.length;i++){

System.out.println(table.get(i).toString());

}

}

public  static Student[] bubbleSort(Student[] args){//冒泡排序算法

Student temp;

        for(int i=0;iargs.length-1;i++){

                for(int j=i+1;jargs.length;j++){

                        if (args[i].getSumscore()args[j].getSumscore()){

                         temp=args[i];

                                args[i]=args[j];

                                args[j]=temp;

                        }

                }

        }

        return args;

}

}

//楼主,说实话你的要求真多,而且分少~~~~

java中怎么作用数组,来个实例,谢谢

 冒泡排序法

1. public class SortArray_01 {

2. public static void main(String args[]) {

3. int[] array = { 14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55 }; // 创建一个初始化的一维数组array

4. System.out.println("未排序的数组:");

5. for (int i = 0; i array.length; i++) { // 遍历array数组中的元素

6. System.out.print(" " + array[i]); // 输出数组元素

7. if ((i + 1) % 5 == 0) // 每5个元素一行

8. System.out.println();

9. }

10. int mid; // 定义一个中间变量,起到临时存储数据的作用

11. for (int i = 0; i array.length; i++) { // 执行冒泡排序法

12. for (int j = i; j array.length; j++) {

13. if (array[j] array[i]) {

14. mid = array[i];

15. array[i] = array[j];

~ 1 / 8 ~

16. array[j] = mid;

17. }

18. }

19. }

20. System.out.println("\n使用冒泡法排序后的数组:");

21. for (int i = 0; i array.length; i++) { // 遍历排好序的array数组中的元素

22. System.out.print(" " + array[i]); // 输出数组元素

23. if ((i + 1) % 5 == 0)

24. System.out.println(); // 每5个元素一行

25. }

26. }

27. }

 数组递增排序

1. import java.util.Arrays;

2. import java.util.Random;

3.

4. public class SortArray_02 {

5. public static void main(String[] args) {

6. Random rd = new Random();

7. int[] array = new int[15]; // 声明数组

8. System.out.println("没有使用sort方法前的数组:");

9. for (int i = 0; i array.length; i++) { // 利用随机数随意产生15个0~20之间的随机数

10. array[i] = rd.nextInt(20); // 给array数组赋值

~ 2 / 8 ~

11. System.out.print(" " + array[i]);

12. if ((i + 1) % 5 == 0)

13. System.out.println();

JAVA编程 数组

public class getMin{

public static void main(String args[]){

int[] point ={18,25,7,36,13,2,89,63};//创建数组points[],存储八名顾客的积分

int index = 0;

int min = point[0];//定义变量min存储最低积分,定义变量index存储最低积分下标。假设第一个元素为最低积分0,下标为0.

for(int i = 1 ; i point.length; i++)//遍历数组,将数组元素和min的值进行比较。

{

if(min point[i])

{

min = point[i];

index = i;

}

}

System.out.println("最低积分是" + min + " 他的下标是" + index);

}

}

java数组课程设计代码

public static void main(String[] args) {

/**

*

* (1)实现整型数组的创建要求由用户输入数组长度以及数组元素

*/

Scanner input = new Scanner(System.in);

System.out.print("请输入整型数组的长度:");

int lengthInt = input.nextInt();

int[] arrInt = new int[lengthInt];

for (int i = 0; i arrInt.length; i++) {

System.out.println("请输入第" + (i + 1) + "个元素");

arrInt[i] = input.nextInt();

}

System.out.print("整型数组:");

for (int i = 0; i arrInt.length; i++) {

System.out.print(arrInt[i] + "\t");

}

System.out.println();

/**

*

* (2)查找数组中最大值最小值以及求平均值

*/

int max = 0;

int min = arrInt[0];

double sum = 0;

for (int i = 0; i arrInt.length; i++) {

if (arrInt[i] max) {

max = arrInt[i];

}

if (arrInt[i] min) {

min = arrInt[i];

}

sum += arrInt[i];

}

double avg = sum / arrInt.length;

System.out.println("最大值:" + max);

System.out.println("最小值:" + min);

System.out.println("平均值:" + avg);

/**

*

* (3)实现数组的排序,有用户选择何种方式

*/

System.out.println("请选择排序的方式(输入数字即可):");

System.out.println("1:由小到大,2:由大到小");

int a = input.nextInt();

switch (a) {

case 1:

int i,

j,

t;

for (i = 0; i arrInt.length - 1; i++) {

for (j = 0; j arrInt.length - i - 1; j++) {

if (arrInt[j + 1] arrInt[j]) {

t = arrInt[j + 1];

arrInt[j + 1] = arrInt[j];

arrInt[j] = t;

}

}

}

break;

case 2:

int x,

y,

z;

for (x = 0; x arrInt.length - 1; x++) {

for (y = 0; y arrInt.length - x - 1; y++) {

if (arrInt[y + 1] arrInt[y]) {

z = arrInt[y + 1];

arrInt[y + 1] = arrInt[y];

arrInt[y] = z;

}

}

}

break;

default:

System.out.println("输入有误");

break;

}

for (int k = 0; k arrInt.length; k++) {

System.out.print(arrInt[k] + "\t");

}

System.out.println();

/**

*

* (4)实现数组的插入,并对插入后的数组重排序

*/

System.out.println("该数据长度为" + arrInt.length + ",插入数据后也记录最后" + "个的元素");

boolean ref = true;

do {

System.out.println("请插入元素:");

for (int i = 0; i arrInt.length; i++) {

if (i arrInt.length - 1)

arrInt[i] = arrInt[i + 1];

else

arrInt[i] = input.nextInt();

}

System.out.println("是否再插入新的元素?(是:Y,否:其他任何字符)");

if (!input.next().equalsIgnoreCase("y")) {

ref = false;

}

} while (ref);

System.out.print("插入元素后的数组:");

for (int i = 0; i arrInt.length; i++) {

System.out.print(arrInt[i] + "\t");

}

System.out.println();

/**

*

* (5)实现对某个数组的删除或者修改操作

*/

System.out.println("请选择操作:1.删除;2.修改");

int d = input.nextInt();

System.out.println("请输入要操作的元素下标:(输入0-" + (arrInt.length - 1)

+ "之内的数字即可):");

int index = input.nextInt();

System.out.println(index);

int[] arrs = new int[arrInt.length - 1];

switch (d) {

case 1:

for (int i = 0; i arrInt.length - 1; i++) {

if (i == index index arrInt.length - 1) {

arrs[i] = arrInt[index + 1];

} else if (i index index arrInt.length - 1) {

arrs[i] = arrInt[i + 1];

} else {

arrs[i] = arrInt[i];

}

}

for (int i = 0; i arrs.length; i++) {

System.out.print(arrs[i] + "\t");

}

break;

case 2:

System.out.println("请输入新的元素:");

int num = input.nextInt();

arrInt[index] = num;

for (int i = 0; i arrInt.length; i++) {

System.out.print(arrInt[i] + "\t");

}

break;

default:

System.out.println("输入有误");

break;

}

}

谁帮我讲解下Java的数组及下标的范围啊

在java中数组有这么几种声明 方式。

1. int[] arrs = new int[10];

这种方式等同于int arrs[] = new int[10];

因为数组的长度是固定的,所以在声明的时候必须指定数组的长度。上面我声明了一个10个长度的数组。

下标呢,是从0开始到数组长度的上一位,即 数组长度 - 1,上面的数组最大下标是9。

存取值的时候要通过下边来操作。

例:arr[0] = 1;

arr[1] = 2;

arr[9] = 10;

这样他就会在相应的位置存储给定的值。如果这样 arr[10]就会抛异常,因为最大下标只有9.

取值也是通过下标

例: int num = arr[0]; 这样取到的就是1.

因为数组长度是固定的,所以就算不存值也是会占内存的,

例:int num = arr[8];

我并没给8下标的存值,但是它输出的是0,因为数组时引用类型,默认值是0,自己可以查一下。

还有一种

int[] arrs = new int[]{1,2,3,4,5,6};

声明加赋值的方式,这样后边的中括号就不能制定数组长度了,数组长度根据值的数量决定。

上边这个数组长度就是6,其他用法一样。

Java中数组的定义与使用方法

Java中数组的定义与使用方法:

1、数组的定义

语法有两种:

type arrayName[];

type[] arrayName;

type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。

例如:

int demoArray[];

int[] demoArray;

这两种形式没有区别,使用效果完全一样,读者可根据自己的编程习惯选择。

注意:Java在定义数组时并不为数组元素分配内存,因此[ ]中无需指定数组元素的个数,即数组长度。而且对于如上定义的一个数组是不能访问它的任何元素的,开发者必须要为它分配内存空间,这时要用到运算符new,其格式如下:

arrayName=new type[arraySize];

其中,arraySize 为数组的长度,type 为数组的类型。如:

demoArray=new int[3];//为一个整型数组分配3个int 型整数所占据的内存空间。

2、数组的初始化

可以在声明数组的同时进行初始化(静态初始化),也可以在声明以后进行初始化(动态初始化)。例如:

// 静态初始化

// 静态初始化的同时就为数组元素分配空间并赋值

int intArray[] = {1,2,3,4};

String stringArray[] = {"zhidao", "baidu", "百度知道"};

// 动态初始化

float floatArray[] = new float[3];

floatArray[0] = 1.0f;

floatArray[1] = 132.63f;

floatArray[2] = 100F;

3、数组的使用:

每个数组都有一个length属性来指明它的长度,例如 intArray.length 指明数组 intArray 的长度。

【示例】写一段代码,要求输入任意5个整数,输出它们的和。

import java.util.*;

public class Demo {

public static void main(String[] args){

int intArray[] = new int[5];

long total = 0;

int len = intArray.length;

// 给数组元素赋值

System.out.print("请输入" + len + "个整数,以空格为分隔:");

Scanner sc = new Scanner(System.in);

for(int i=0; ilen; i++){

intArray[i] = sc.nextInt();

}

// 计算数组元素的和

for(int i=0; ilen; i++){

total += intArray[i];

}

System.out.println("所有数组元素的和为:" + total);

}

}

运行结果:

请输入5个整数,以空格为分隔:10 20 15 25 50

所有数组元素的和为:120

java数组教案的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数组的实现原理、java数组教案的信息别忘了在本站进行查找喔。