T1:
反转整型数组,例如,数组中原来是{1,9,8,1,0,3,2,7},变成{7,2,3,0,1,8,9,1}
public class Main {public static void main(String[] args) { int []arr={1,2,3,4,5}; int left=0,right=arr.length-1; while(left<right) { int temp=arr[left]; arr[left]=arr[right]; arr[right]=temp; left++; right--; }for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}}
T2:
打乱整型数组
import java.util.Random;public class Main {public static void main(String[] args) {Random r=new Random();int []arr={1,2,3,4,5};for (int i = 0; i < arr.length; i++) {int number=r.nextInt(arr.length);int temp=arr[i];arr[i]=arr[number];arr[number]=temp;}for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}}
T3:
写出奇数阶幻方
n阶幻方(MagicSquare)是指将自然数1~n²排列成n * n阶方阵,其各行、各列及两条对角线上的数值之和相等
例如:
8 1 6
3 5 7
4 9 2
对于奇数阶幻方,有一种方法为连续摆数法(可参考上面这个3 * 3的奇数阶方法来理解下面的方法):
①约定初始位置是第0行中间,放置1。
②向当前位置的右上方顺序放置下一个数,如5、6;若下一个位置超出数组下标范围,则将幻方阵沿行、列方向看成环形,下标再从0开始计数,如2、3。
③若当前放置数是n的倍数,表示一条对角线已满,则下一个012S位置是本列下一行,如4、7。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int [][] arr=new int[n][n];arr[0][n/2]=1;int i=0;int j=n/2;for(int k=1;k<=n*n;k++) {arr[i][j]=k;if(k%n==0){i=(i+1)%n;}else{i=(i-1+n)%n;j=(j+1)%n;}}for (int t = 0; t < arr.length; t++) {for (int s = 0; s < arr[t].length; s++) {System.out.print(arr[t][s]+" ");}System.out.println();}}}