1.分析以下需求,并用代码实现:
(1)定义一个int类型的二维数组
(2)获取该二维数组最小元素,并输出
import java.util.Scanner;
public class Noname2 {
public static void main(String[] args)
{
{
int[][] arr = new int[][]{{3,2,1},{4,5,6},{7,8,9}};
int min = arr[0][0];
for (int i = 0; i < arr.length ; i++ )
{
for (int j = 0; j < arr.length ; j++ )
{
if (min > arr[i][j]) {
min = arr[i][j];
}
}
}
System.out.print(min);
}
}
}
2.分析以下需求,并用代码实现:
(1)定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}
(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组
提示思路:先查找最大值和最小值出现的索引。
import java.util.Scanner;
public class Noname2 {
public static void main(String[] args)
{
int[] arr = {6,2,9,15,1,5,20,7,18};
change(arr,getMax(arr),arr.length-1);
change(arr,getMin(arr),0);
printArray(arr);
}
public static void change(int[] arr,int a,int b){ // 交换
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
public static int getMax(int[] arr){ // 取最大值
int max = arr[0];
int maxIndext = 0;
for (int i = 1; i < arr.length ; i++)
{
if (max < arr[i]) {
max = arr[i];
maxIndext = i;
}
}
return maxIndext;
}
public static int getMin(int[] arr){ // 取最小值
int min = arr[0];
int minIndext = 0;
for (int i = 1; i < arr.length ; i++)
{
if (min > arr[i]) {
min = arr[i];
minIndext = i;
}
}
return minIndext;
}
public static void printArray(int[] arr){ // 打印
for (int i =0 ; i < arr.length ; i++)
{
System.out.print(arr[i]+" ");
}
}
}
3.分析以下需求,并用代码实现:(扩展)
(1)键盘录入6个int类型的数据存数数组arr中
(2)将arr数组中的内容反转 654321
(3)将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推 634521 634125
(4)最后将数组最后一个角标为奇数的元素 和数组中第一个角标为奇数的元素交换 654123
(5)打印最终的数组(实现了1-4步之后的数组)
(6)如:用户输入的6个int数字为[1,2,3,4,5,6],最后输出的结果为[6, 5, 4, 1, 2, 3]
import java.util.Scanner;
public class Noname2 {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int[] arr = new int[6];
System.out.print("请输入6个整数");//循环输入6个整数
for (int i =0 ; i <= 5 ; i++ )
{
int x = sc.nextInt();
arr[i] = x;
}
reverseArray(arr);//取反
changeOddIndex(arr);//奇数角标互换
changeFirstAndLast(arr);//第一个奇数角标和最后一个奇数角标互换
printArray(arr);//打印
}
public static void changeFirstAndLast(int[] arr){
for (int i = arr.length-1 ; i >= 0 ; i--)
{
if (i % 2 != 0) {
int temp = arr[i];
arr[i] = arr[1];
arr[1] = temp;
return;
}
}
}
public static void changeOddIndex(int[] arr){
for (int i = 1 ; i < arr.length ; i+=2)
{
if (i + 2 < arr.length) {
int temp = arr[i];
arr[i] = arr[i+2];
arr[i+2] = temp;
}
}
}
public static int[] reverseArray(int[] arr){
for (int i =0 ; i < arr.length/2 ; i++)
{
int temp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = temp ;
}
return arr;
}
public static void printArray(int[] arr){
for (int i =0 ; i < arr.length ; i++)
{
System.out.print(arr[i]+" ");
}
}
}
4.把今天讲过的其他案例再练习一遍
|
|