簡體   English   中英

如何創建一個方法來返回兩個數組中的匹配值

[英]How to create a method to return matching values in two arrays

我是編程新手,我正在嘗試自學一些基本的編碼技能。

我已經開始嘗試使用數組,並希望解決以下任務:

創建一個方法,該方法返回兩個數組中的所有匹配值,並在控制台中顯示這些匹配值。

到目前為止,我只創建了兩個數組, list1list2 我相信我需要使用 for 或 while 循環來查找每個數組中的匹配值,但我不確定如何執行此操作以及下一步需要做什么。

有人可以給我一些建議嗎?

到目前為止,這是我寫的:

package project1;

public class Array {

    public static void main(String[] args) {
    int list1 [] = {1,2,55,8,7,9,60,4};
    int list2 [] = {3,12,1,71,4,6,1,10};
    }

}

你是對的,你必須創建一個循環來讀取數組。

        public static void main(String[] args) {
        int list1 [] = {1,2,55,8,7,9,60,4};
        int list2 [] = {3,12,1,71,4,6,1,10};

        for (int i=0;i<list1.length;i++){
        System.out.println(list[i]);
//If you want to print any specific position put the position of the array that you want to print (taking into account that arrays start in 0 position):
  System.out.println(list[0]);
        }
        for (int j=0;i<list2.length;j++){
        System.out.println(list[j]);
        }

    }

這兩個簡單的循環創建了一個名為ij的整數,其初始值為 0。在每個循環中,您將打印數組的每個位置,直到 i 和 j 達到數組的長度( list1.lengthlist2.length )。 當循環打印第一個位置時,這些整數將它們的值增加一個( i++ and j++ )並打印下一個位置。

請通過以下代碼並嘗試理解它。 請參閱 Java 文檔,或者如果您使用的是 Eclipse 之類的 IDE,請將鼠標懸停在函數上以獲取有關該功能的描述。

public static void getMatchingElements(int[] array1, int[] array2) {

    for (int i = 0; i < array1.length; i++) {
        for (int j = 0; j < array2.length; j++) {

            if(array1[i] == array2[j]){
                System.out.println(array1[i]);
                break;
            }
        }
    }

}

上面的算法是一個非常簡單的算法。 希望你能改進它。

嘗試這個。

public static void main(String[] args) {
    int list1 [] = {1,2,55,8,7,9,60,4};
    int list2 [] = {3,12,1,71,4,6,1,10};

    for(int x : list1){
        if(Arrays.asList(list2).contains(x)){
            System.out.println( x + " : present in second array.");
        }
    }

 }

好的,我想我現在明白了。 您想打印出同時存在於 list1 和 list2 中的值。 嘗試這個:

    public static void main(String[] args)
    {
        int list1 [] = {1,2,55,8,7,9,60,4};
        int list2 [] = {3,12,1,71,4,6,1,10};
        getMatchingValues(list1,list2);
    }
    public static void getMatchingValues(int[] list1, int[] list2)
    {
        for(int value1 : list1)
        {
            for(int value2 : list2)
            {
                if(value1==value2)
                {
                    System.out.println("Both lists contain "+value1);
                    break;
                }
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM