JAVAプログラミング----配列基礎


いくつかの小さな問題:
1.配列にメモリを割り当てるのはいつですか?配列初期化時にメモリを割り当てる
2.配列が作成されると、サイズを変更できますか?配列が作成されると、その大きさは変更できません.arrayを使用できます.lengthの得られた配列の大きさ.int[] list; list = new int[10];//初期化配列list=new int[20];//元の配列のサイズを変更するのではなく、配列変数に値を再割り当てします.
3.実参はどのように方法に伝達されますか?実参は形参と同じ名前でいいですか?メソッドを呼び出すと、プログラムはパラメータに記憶領域を割り当て、実パラメータの値をパラメータに割り当てます.パラメータはローカル変数であり、実パラメータとは同じ役割ドメインにないため、同名にすることができます.
4.メソッドのリロードとは?メソッドの修飾子や戻り値タイプに基づいてリロードできますか?メソッドのリロード:メソッド名は同じで、パラメータリスト(パラメータタイプ、パラメータ順序、パラメータ数)はメソッドの修飾子または戻り値タイプに応じてリロードできません.メソッド呼び出しは値として処理してもよいし、int val=fun()やfun()などの文として処理してもよいので、文として処理する場合、コンパイラは誰を呼び出すべきかを区別できません.
配列の基礎に関するいくつかのプログラミング問題.
1.整数配列の平均値を計算する関数を書く
public class threeA {
    public static void main(String[] args) {
        int[] list = {1,2,1,3,3};
        ave(list);
    }
    public static void ave(int[] list){
        int sum = 0;
        int res;
        for (int i = 0; i < list.length; i++) {
            sum = sum + list[i];
        }
        res = sum / list.length;
        System.out.println(res);
    }
}

2.整数配列aをカスタマイズし、整数nを読み込み、nが配列に存在する場合、*はnの下付き文字を出力する.存在しない場合は、-1を出力します.(*)
import java.util.Scanner;

public class threeB {
    public static void main(String[] args) {
        int[] array = {1,2,6,8,9};
        System.out.println("            n:");
        Scanner scanner = new Scanner(System.in);
        int s = scanner.nextInt();
        boolean bool = true;
        for (int i = 0; i < array.length; i++) {
            if (s == array[i]){
                System.out.println("     :"+i);
                bool = false;
                break;
            }
        }
        if(bool){
            System.out.println(-1);
        }
    }
}

3.指定された配列の最大最小値を出力します.
public class threeC {
    public static void main(String[] args) {
        int[] array = {1,6,9,87,5,4};
        int max = 0;
        int min = 0;
        max = min = array[0];
        for (int i = 1; i < array.length; i++) {
            if (array[i]>max){
                max = array[i];
            }
            if (array[i]

4.配列を指定し、配列の要素を順番に逆さまにして出力する
import java.util.Arrays;
public class threeD {
    public static void main(String[] args) {
        int[] arr = {2,5,9,6,7};
        for (int i = 0; i < arr.length/2; i++) {
        //arr.length/2,    arr.length ,         
            int temp = arr[i];
            arr[i] = arr[arr.length-1-i];
            arr[arr.length-i-1] = temp;
        }
        System.out.println(Arrays.toString(arr));//Arrays.toString(arr)    
    }
}

5.泡立ちソート
public class threeE {
    public static void main(String[] args) {
        int[] a = {1,3,2,7,5};
        int len = a.length;
        for (int i = 0; i a[j+1]) {
                    int temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
        for (int c: a){
            System.out.print(c+",");
        }
    }
}

6.ソートの挿入
public class threeG {
    public static void main(String[] args){
        int[] arr = {6,8,9,1,4,3};
        int len = arr.length;
        for(int i = 1; i < len; i++){
            int temp = arr[i]; //     
            int j = 0;
            for(j = i - 1; j >= 0; j--){
                if(arr[j] > temp){
                    arr[j+1] = arr[j];
                }else{
                    break;
                }
            }
            if(arr[j+1] != temp){
                arr[j+1] = temp;
            }
        }
        for(int n : arr){
            System.out.print(n+",");
        }
    }
}

7.配列の基本ツール
import java.util.Arrays;
public class threeF{
    public static void main(String[] args){
        int[] num = {45,65,75,87,98,901};
        //    
        int index = Arrays.binarySearch(num,98);
        System.out.println("      " + index);

        //    
        for(int n : num){
            System.out.println(n);
        }
        System.out.println(Arrays.toString(num));
        Arrays.sort(num);

        //  
        int[] num2 = {10,32,15,9,564,31};
        Arrays.sort(num2);//    
        System.out.println(Arrays.toString(num2));

        //     
        int[] num3 = Arrays.copyOf(num2,10);
        System.out.println(Arrays.toString(num3));

        //
        int[] newNum = new int[num2.length];
        System.arraycopy(num2,0,newNum,0,num2.length);
        System.out.println(Arrays.toString(newNum));

        //  ,     
		/*
			         :
			System.arraycopy->Arrays.copyOf->for
		*/

        //            
        System.out.println(Arrays.equals(num2,newNum));

        //    
        Arrays.fill(newNum,0);
        System.out.println(Arrays.toString(newNum));
    }
}

8.最大公約数、最小公倍数
import java.util.Scanner;

public class threebyone {
    public  int mincom(int m,int n){
        int temp;
        int t = 0;
        if(m

9.文字配列中のアルファベットの出現回数and文字列中のアルファベットの出現回数を計算する
import java.util.Scanner;
public class threebytwo {
    public static void main(String[] args) {

        char[] chs = {'a','a','d','c','a','b'};
        Scanner scanner = new Scanner(System.in);
        System.out.println("       :");
        //Scanner  ,   char  
        char c = scanner.next().charAt(0);//charAt       char 
        int count = 0;
        for (int i = 0; i < chs.length; i++) {
            if (chs[i] == c){
                count++;
            }
        }
        System.out.println("a      :"+count);
        /**
         *           
         */
//        Scanner scanner = new Scanner(System.in);
//        System.out.println("       :");
//        String str = scanner.nextLine();
//        System.out.println(str);
//        System.out.println("             :");
//        Scanner scanner1 = new Scanner(System.in);
//        String c = scanner1.nextLine();
//        int count = 0;
//        int start = 0;
//        //indexOf                       
//        while(str.indexOf(c,start) >= 0 && start < str.length()){
//            count++;
//            start = str.indexOf(c,start) + c.length();
//        }
//        System.out.println(c+"      :"+count);
    }
}