[英]How to create a method to return matching values in two arrays
我是編程新手,我正在嘗試自學一些基本的編碼技能。
我已經開始嘗試使用數組,並希望解決以下任務:
創建一個方法,該方法返回兩個數組中的所有匹配值,並在控制台中顯示這些匹配值。
到目前為止,我只創建了兩個數組, list1
和list2
。 我相信我需要使用 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]);
}
}
這兩個簡單的循環創建了一個名為i
和j
的整數,其初始值為 0。在每個循環中,您將打印數組的每個位置,直到 i 和 j 達到數組的長度( list1.length
和list2.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.