黑马程序员技术交流社区
标题:
关于以为一维数组
[打印本页]
作者:
WOJIAOLIZHEN01
时间:
2015-9-18 23:53
标题:
关于以为一维数组
那位大神可以把根据这个要求编一段完整的代码呀
:数组常见操作:
数组遍历(依次输出数组中的每一个元素)
数组获取最值(获取数组中的最大值最小值)
数组元素逆序 (就是把元素对调)
数组查表法(根据键盘录入索引,查找对应星期)
数组元素查找(查找指定元素第一次在数组中出现的索引)
作者:
盖世神功
时间:
2015-9-19 07:26
小菜来了,数组循环输出
迭代器
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]+",");
}
作者:
盖世神功
时间:
2015-9-19 07:42
手机打代码,一块一块来
数组获取最大值和最小值:
第一,可以排序,结尾和头就是最大最小元素
冒泡排序一下
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:47
元素对调,也是定义中间变量,交换arr[i]和arr[arr.length-i]
循环for(int i = 0; i <=arr.length/2;i+-){}
作者:
盖世神功
时间:
2015-9-19 07:54
根据下标求元素不说,查找哪个元素在数组中第一次出现位置:
int count=0;
for(遍历){
if(i==指定元素){
System.out.println(count);
break;
}
count++;
}
作者:
fmi110
时间:
2015-9-19 08:46
import java.util.Arrays;
import java.util.Scanner;
/**
* 数组常见操作: 数组遍历(依次输出数组中的每一个元素)
* 数组获取最值(获取数组中的最大值最小值)
* 数组查表法(根据键盘录入索引,查找对应星期)
* 数组元素查找(查找指定元素第一次在数组中出现的索引)
* 数组元素逆序 (就是把元素对调)
*/
public class Test7 {
public static void main(String[] args) {
int[] arr = { 1, 4, 2, 43, 213, 3, 5 };
printArr(arr);
getMaxAndMin(arr);
checkTable();
int index = getFirstTime(arr);
System.out.println("你查找的数第一次出现在:" + index);
reverseArr(arr);
}
// 查找元素第一次出现时的索引,没有则返回 -1
private static int getFirstTime(int[] arr) {
int index = -1;
System.out.println("请输入要查找的数字:");
int num = new Scanner(System.in).nextInt();
System.out.println(num);
for (int i = 0; i < arr.length; i++) {
if (num == arr[i]) {
System.out.println(i);
return i;
}
}
return index;
}
// 查表法查星期
private static void checkTable() {
String[] day = { "", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天" };
System.out.println("请输入索引,范围1-7:");
int num = new Scanner(System.in).nextInt();
if (num <= 7 && num >= 1) {
System.out.println("你输入的是" + day[num]);
} else
System.out.println("输入数字错误!!");
}
// 数组逆序
private static void reverseArr(int[] arr) {
int end = arr.length - 1;
int start = 0;
for (; start < end; start++, end--) {
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
System.out.println("逆序后的数组:");
printArr(arr);
}
// 获取最大最小值
private static void getMaxAndMin(int[] arr) {
// 将数组排序,然后获取最大最小值
int max, min;
// 复制一个数组,防止修改原数组的顺序
int[] tempArr = Arrays.copyOfRange(arr, 0, arr.length);
Arrays.sort(tempArr);
min = tempArr[0];
max = tempArr[tempArr.length - 1];
System.out.println("min = " + min + ", max = " + max);
printArr(arr);
}
// 数组遍历
private static void printArr(int[] arr) {
System.out.println("数组元素:");
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2