Javastudy_day004

简易数组

1、数组定义与基本使用

<类型名>[ ] 数组名=new <类型名> [数组元素个数] ; (数组元素个数可以为常量也可以为变量)
<类型名>[ ] 数组名={ 1,2,3,4 } ;
1、 数组元素个数定义为常量的情况:

package com.day0001.contact;

import java.util.Scanner;

public class HelloWorld {
      public static void main(String[] args) {
    	Scanner in=new Scanner(System.in);
        int x=0;
        int [] numbers=new int [100];
        numbers[0]=in.nextInt();
        int count=0;
        int sum=0;
        //数组以-1为结尾标志
        while(numbers[count]!=-1)
        {
        	sum+=numbers[count];
           	count++;
           	numbers[count]=in.nextInt();
        }
        if(count>0)//此时数组不为空
        {
        	System.out.println("数组元素个数为: "+count);
        	System.out.print("数组元素依次历遍为: ");
        	for(int i=0;i<count;i++) 
        	{
        		System.out.print(numbers[i]+" ");
        	}
        	double average=sum/count;
        	System.out.println("数组元素平均值为: "+average);
        	System.out.print("数组元素中大于平均值的有: ");
        	for(int i=0;i<count;i++) 
        	{
        		if(numbers[i]>average) 
        		{
        			System.out.print(numbers[i]+" ");
        		}
        	}
        }
}
     
}

在这里插入图片描述
2、数组元素个数定义为变量的情况:

package com.day0001.contact;

import java.util.Scanner;

public class HelloWorld {
      public static void main(String[] args) {
    	Scanner in=new Scanner(System.in);
        int count=in.nextInt();//输入数组元素个数
        int [] numbers=new int [count];//数组元素个数定义为变量
        int sum=0;
        for(int i=0;i<count;i++) 
        {
          numbers[i]=in.nextInt();
          sum+=numbers[i];
        }
        if(count==numbers.length) 
        {//numbers.length  数组长度
        	if(numbers.length>0) 
        	{
        		System.out.println("数组元素个数为: "+"numbers.length= "+numbers.length+"; count= "+count);
        	  	System.out.print("数组元素依次历遍为:");
        		for(int i=0;i<numbers.length;i++) 
        	    {
        	       System.out.print(numbers[i]+" ");
        	    }
        		double average=sum/numbers.length;
        		System.out.println("数组元素平均值为: "+average);
        		System.out.print("数组元素中大于平均值的有: ");
        		for(int i=0;i<numbers.length;i++) 
        		{
                   if(numbers[i]>average)
                   {
                	   System.out.print(numbers[i]+" ");
                   }
        		}
              }
        }
     
     } 
  }

在这里插入图片描述

2、数组的简易计算(投票统计))

数组没有初始化时,默认所有数组元素都为零

import java.util.Scanner;

public class HelloWorld {
      public static void main(String[] args) {
    	Scanner in=new Scanner(System.in);
       //投票统计 :输入数量不确定的[0,9]范围内的整数,统计每一种数字出现的次数
    	//输入-1表示输入结束
    	int x;
    	int [] numbers =new int [10];//记录出现次数
    	//数组没有初始化时,默认所有数组元素都为零
    	for(int i=0;i<numbers.length;i++)
    	{//检查在没有初始化时是否默认了所有数组元素都为零
    		System.out.print(numbers[i]);
    	}
    	System.out.println();//换行
    	x=in.nextInt();
    	while(x!=-1)
    	{
    		if(x>=0&&x<=9)
    		{
    		   numbers[x]++;	
    		}
    		x=in.nextInt();
    	}
    	System.out.print("统计票数: ");
    	for(int i=0;i<numbers.length;i++) 
    	{
    	   System.out.print(i+"的个数:"+numbers[i]+"票 ");	
    	}
     } 
  }

在这里插入图片描述

3、建立素数表

package com.day0001.contact;

import java.util.Scanner;

public class HelloWorld {
      public static void main(String[] args) {
    	Scanner in=new Scanner(System.in);
        //建立素数表
    	boolean[] isPrime=new boolean [100];
    	//默认情况下boolean数组全是false
    	for(int i=0;i<isPrime.length;i++) {
    		System.out.print(isPrime[i]+" ");
    	}
    	System.out.println();
    	for(int i=2;i<isPrime.length;i++)
    	{
    	   isPrime[i]=true;
    	}
    	for(int i=2;i<isPrime.length;i++) 
    	{
    	   if(isPrime[i]) 
    	   {	
    		 for(int k=2;i*k<isPrime.length;k++) 
    		 {   
    		     isPrime[i*k]=false;
    		 }
    	   }
    	}//将2、3、4、.....n这些数的>=2倍数的数(这些都是非素数)都由true改为false,0和1没有被赋值过true,依然是false
    	for(int i=0;i<isPrime.length;i++) {
    		if(isPrime[i]) {
    			System.out.print(i+" ");
    		}
    	}
    }
  }

在这里插入图片描述

4、二维数组

二维数组的初始化
int [ ][ ]数组名=new int [ ][ ] ;
int [ ] [ ]数组名={ { },{ },…};

package com.day0001.contact;

import java.util.Scanner;

public class HelloWorld {
      public static void main(String[] args) {
    	Scanner in=new Scanner(System.in);
        //二维数组的初始化
    	int [][] numbers=new int [3][5];
        //三行五列的矩阵
        int [][]a = { {1,2,3,4,5}, {1,2,3,4}, {1,2,3} };
        
      }
  }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>