Java练习题 - 数组

  • 编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。
/*例5-1
*数组使用范例
*/
public class ArrayDemo
{
   public static void main(String[] args)
   {
       int[] buffer=new int[5];

       buffer[0]=10;
       buffer[1]=20;
       buffer[2]=30;
       buffer[3]=40;
      buffer[4]=50;
       
       for(int i=0;i<5;i++)
       {
           System.out.println(buffer[i]);
      }
   }
}
  • 将一个字符数组的值(neusofteducation)考贝到另一个字符数组中。
public class ArrayCopyDemo {
   public static void main(String[ ] args) {
       //定义源字符数组 
       char[ ]  copyFrom = {'n', 'e', 'u', 's', 'o', 'f', 't', 'e', 'd', 'u', 'c', 'a', 't', 'i', 'o', 'n'};    
       char[ ] copyTo = new char[7];
       
       System.arraycopy(copyFrom, 2, copyTo, 0, 7);
       System.out.println(new String(copyTo));
       
   }
}
  • 给定一个有9个整数(1,6,2,3,9,4,5,7,8})的数组,先排序,然后输出排序后的数组的值。
public class ArraySortDemo {

  /**
   * @param args
   */
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      int[] point = {1,6,2,3,9,4,5,7,8};
      
      java.util.Arrays.sort( point );
      
      for(int i=0;i<point.length;i++)
      {
          System.out.println(point[i]);
      }

  }

}
  • 有2个多维数组分别是 2 3 4 和 1 5 2 8
    4 6 8 5 9 10 -3
    2 7 -5 -18
    按照如下方式进行运算。生成一个2行4列的数组。此数组的第1行1列是21+35+42
    第1行2列是2
    5+39+47 第2行1列是41+65+8*2 依次类推。
package com.neusoft.javaTest;

public class Array2 {

  /**
   * @param args
   */
  
  public static void main(String[] args) {
          int a[][] = { { 2, 3, 4 }, { 4, 6, 8 } };
          int b[][] = { { 1, 5, 2, 8 }, { 5, 9, 10, -3 }, { 2, 7, -5, -18 } };    
          for(int k=0;k<a.length;k++){                
              for(int i=0;i<b[0].length;i++){
                  int num = 0;
                  for(int j=0;j<b.length;j++){
                      num += a[k][j]*b[j][i];
                  }
                  System.out.print(num+"  ");
              }   
              System.out.println("");                      
          }
          
  }

}
  • 输出一个double型二维数组(长度分别为5、4,值自己设定)的值。
/*例5-3
*多维数组范例
*/
public class ArrayTwoDimension
{
   public static void main(String[] args)
   {
       double[][] buffer=new double[5][4];
       
       for(int i=0;i<buffer.length;i++)
       {
           for(int j=0;j<buffer[0].length;j++)
           {
               System.out.print(buffer[i][j]);
           }
           System.out.println();
       }
   }
}
  • 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。
public class Arraymax {

  /**
   * @param args
   */
  public static void main(String[] args) {
      int[] a = {18,25,7,36,13,2,89,63};
      int max = a[0];
      int maxIndex = 0;
      for(int i=1;i<a.length;i++)
      {
          if(max<=a[i]){
              max = a[i];
              maxIndex = i;
          }
      }
      System.out.println("最大值为:"+max+" 最大值下标为:"+maxIndex);
  }

}
  • 将一个数组中的元素逆序存放
public class Answer {
public static void main(String[] args) {
     Scanner s = new Scanner(System.in);
     int a[] = new int[20];
  System.out.println("请输入多个正整数(输入-1表示结束):");
     int i=0,j;
     do{
        a[i]=s.nextInt();
        i++;
     }while (a[i-1]!=-1);
     System.out.println("你输入的数组为:");
     for( j=0; j<i-1; j++) {
      System.out.print(a[j]+"   ");
  }
     System.out.println("\n数组逆序输出为:");
     for( j=i-2; j>=0; j=j-1) {
      System.out.print(a[j]+"   ");
  }
      }

}
  • 将一个数组中的重复元素保留一个其他的清零。
public class Answer {
public static void main(String[] args) {
  int[] a = { 1, 2, 2, 3, 4, 5, 6, 4, 7 ,2 ,10};      
  for (int i = 0;i < a.length - 1;i ++){
      for (int j = i + 1;j < a.length;j ++){
          if (a[i] == a[j]){
              a[j] = 0;
          }
      }
  }

}
}
  • 给定一维数组{ -10,2,3,246,-100,0,5} ,计算出数组中的平均值、最大值、最小值。
public class Answer {
public static void main(String[] args) {
  int a[] = new int[]{ -10,23,246,-100,0,5};
   int max = a[0];
   int min = a[0];
   int add = a[0];
   for(int i =1;i<a.length;i++){
       if(a[i]< min){
           min = a[i];
       }else if(a[i]>max){
           max = a[i];
       }
       add = add+a[i];
   }
  System.out.println("最小值:"+min);
  System.out.println("最大值:"+max);
  System.out.println("平均值:"+add/a.length);
}
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 8,567评论 0 9
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 11,958评论 0 9
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,934评论 0 2
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 5,503评论 0 9
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,593评论 0 3