A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WOJIAOLIZHEN01 中级黑马   /  2015-9-18 23:53  /  591 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

那位大神可以把根据这个要求编一段完整的代码呀
:数组常见操作:
        数组遍历(依次输出数组中的每一个元素)
        数组获取最值(获取数组中的最大值最小值)
        数组元素逆序 (就是把元素对调)
        数组查表法(根据键盘录入索引,查找对应星期)
        数组元素查找(查找指定元素第一次在数组中出现的索引)

5 个回复

正序浏览
  1. import java.util.Arrays;
  2. import java.util.Scanner;

  3. /**
  4. * 数组常见操作: 数组遍历(依次输出数组中的每一个元素)
  5. * 数组获取最值(获取数组中的最大值最小值)
  6. * 数组查表法(根据键盘录入索引,查找对应星期)
  7. * 数组元素查找(查找指定元素第一次在数组中出现的索引)
  8. * 数组元素逆序 (就是把元素对调)
  9. */
  10. public class Test7 {
  11.         public static void main(String[] args) {
  12.                 int[] arr = { 1, 4, 2, 43, 213, 3, 5 };
  13.                 printArr(arr);
  14.                 getMaxAndMin(arr);
  15.                 checkTable();

  16.                 int index = getFirstTime(arr);
  17.                 System.out.println("你查找的数第一次出现在:" + index);

  18.                 reverseArr(arr);
  19.         }

  20.         // 查找元素第一次出现时的索引,没有则返回 -1
  21.         private static int getFirstTime(int[] arr) {
  22.                 int index = -1;
  23.                 System.out.println("请输入要查找的数字:");
  24.                 int num = new Scanner(System.in).nextInt();
  25.                 System.out.println(num);
  26.                 for (int i = 0; i < arr.length; i++) {
  27.                         if (num == arr[i]) {
  28.                                 System.out.println(i);
  29.                                 return i;
  30.                         }
  31.                 }
  32.                 return index;
  33.         }

  34.         // 查表法查星期
  35.         private static void checkTable() {
  36.                 String[] day = { "", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天" };
  37.                 System.out.println("请输入索引,范围1-7:");
  38.                 int num = new Scanner(System.in).nextInt();
  39.                 if (num <= 7 && num >= 1) {
  40.                         System.out.println("你输入的是" + day[num]);
  41.                 } else
  42.                         System.out.println("输入数字错误!!");
  43.         }

  44.         // 数组逆序
  45.         private static void reverseArr(int[] arr) {
  46.                 int end = arr.length - 1;
  47.                 int start = 0;
  48.                 for (; start < end; start++, end--) {
  49.                         int temp = arr[start];
  50.                         arr[start] = arr[end];
  51.                         arr[end] = temp;
  52.                 }
  53.                 System.out.println("逆序后的数组:");
  54.                 printArr(arr);
  55.         }

  56.         // 获取最大最小值
  57.         private static void getMaxAndMin(int[] arr) {
  58.                 // 将数组排序,然后获取最大最小值
  59.                 int max, min;
  60.                 // 复制一个数组,防止修改原数组的顺序
  61.                 int[] tempArr = Arrays.copyOfRange(arr, 0, arr.length);
  62.                 Arrays.sort(tempArr);
  63.                 min = tempArr[0];
  64.                 max = tempArr[tempArr.length - 1];
  65.                 System.out.println("min = " + min + ", max = " + max);
  66.                 printArr(arr);
  67.         }

  68.         // 数组遍历
  69.         private static void printArr(int[] arr) {
  70.                 System.out.println("数组元素:");
  71.                 for (int i : arr) {
  72.                         System.out.print(i + " ");
  73.                 }
  74.                 System.out.println();
  75.         }
  76. }
复制代码
回复 使用道具 举报
盖世神功 来自手机 初级黑马 2015-9-19 07:54:01
报纸
根据下标求元素不说,查找哪个元素在数组中第一次出现位置:
int count=0;

for(遍历){
if(i==指定元素){
    System.out.println(count);
   break;
}
count++;
}
回复 使用道具 举报
盖世神功 来自手机 初级黑马 2015-9-19 07:47:24
板凳
元素对调,也是定义中间变量,交换arr[i]和arr[arr.length-i]

循环for(int i = 0; i  <=arr.length/2;i+-){}

回复 使用道具 举报
盖世神功 来自手机 初级黑马 2015-9-19 07:42:50
藤椅
手机打代码,一块一块来
数组获取最大值和最小值:
第一,可以排序,结尾和头就是最大最小元素
冒泡排序一下
int[] i  = {6,2,1,4};
for(int x = 0;x<=i.length;x++){
for(int y = 0;y<=i.length;y++){
int t = 0;
if(i[x]<i[y]){
int t = i[x];
i[x] =i[y];
i[y] =i[x];
}
}
}
取出开头和末尾
第二种:取出第一个元素,依次跟后面元素比较,有大的就赋值,,就得到最大值。
同样有小的才赋值就得到最小
回复 使用道具 举报
盖世神功 来自手机 初级黑马 2015-9-19 07:26:48
沙发
小菜来了,数组循环输出
迭代器
int[]  arr ={1,2,3,4};
for(int i : arr){
      System.out.print(i+",");
}
第二种:
for(int i=0;i<=arr.length;i++){
System.out.println(arr[i]+",");
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马