1. 程式人生 > >Java——陣列(三)

Java——陣列(三)

1.判斷一個數組裡是否有重複的數

//1.判斷一個數組裡是否有重複的數
package cn.edu.nefu2;

import java.util.Scanner;

public class Test01 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入陣列元素個數:");
		int n = sc.nextInt();
		int [] arr = new int [n];
		System.out.println("請輸入陣列元素:");
		for(int i=0;i<arr.length;i++){
			arr[i] = sc.nextInt();
		}
		boolean rep = false;
		for(int i=0;i<arr.length;i++){
			for(int j=i+1;j<arr.length;j++){
				if(arr[j]==arr[i]){
					rep = true;
				}
			}
		}
		if(rep == false){
			System.out.println("該陣列中沒有重複的數");
		}else{
			System.out.println("該陣列中有重複的數");
		}
	}
}

2.判斷陣列是否是對稱陣列

//2.判斷陣列是否是對稱陣列
package cn.edu.nefu2;

import java.util.Scanner;

public class Test02 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入陣列元素個數:");
		int n = sc.nextInt();
		int [] arr = new int [n];
		System.out.println("請輸入陣列元素:");
		for(int i=0;i<arr.length;i++){
			arr[i] = sc.nextInt();
		}
		boolean sym = true;
		for(int i=0;i<=(arr.length-1)/2;i++){
			if(arr[i]!=arr[arr.length-1-i]){
				sym = false;
			}
		}
		if(sym==true){
			System.out.println("該陣列是對稱陣列");
		}else{
			System.out.println("該陣列不是對稱陣列");
		}
	}
}

3將一個正整數如35轉換成二進位制碼

//3將一個正整數如35轉換成二進位制碼
package cn.edu.nefu2;

import java.util.Scanner;

public class Test03 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入一個正整數:");
		int num = sc.nextInt();
		int sum = 0;
		int quo = num;
		while(quo>0){
			quo /= 2;
			sum++;
		}	//確定陣列長度
		int arr [] = new int [sum];
		for(int i = arr.length-1;i>=0;i--){
			arr[i] = num%2;
			num /= 2;
		}
		for(int i=0;i<arr.length;i++){
			System.out.print(arr[i]);
		}
	}
}

4輸出一個數組中的第二大值

//4輸出一個數組中的第二大值
package cn.edu.nefu2;

import java.util.Arrays;
import java.util.Scanner;

public class Test04 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入陣列元素個數:");
		int n = sc.nextInt();
		int [] arr = new int [n];
		System.out.println("請輸入陣列元素:");
		for(int i=0;i<arr.length;i++){
			arr[i] = sc.nextInt();
		}
		Arrays.sort(arr);
		System.out.println(arr[arr.length-2]);
	}
}

5.去掉數組裡的零形成一個沒有零的新陣列

//5.去掉數組裡的零形成一個沒有零的新陣列
package cn.edu.nefu2;

import java.util.Scanner;

public class Test05 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入陣列元素個數:");
		int n = sc.nextInt();
		int [] arr = new int [n];
		System.out.println("請輸入陣列元素:");
		for(int i=0;i<arr.length;i++){
			arr[i] = sc.nextInt();
		}
		int sum = arr.length;
		for(int i=0;i<arr.length;i++){
			if(arr[i]==0){
				for(int j=i;j<arr.length-i;j++){
					arr[j] = arr[j+1];		//去掉0元素
				}
				sum--;		//去掉0後的陣列長度
			}
		}
		int [] newArr = new int [sum];
		System.arraycopy(arr, 0, newArr, 0, sum);
		for(int i=0;i<newArr.length;i++){
			System.out.print(newArr[i]+" ");
		}
	}
}