我需要製作一個方法,它獲取兩個數組(相同長度),它們的值表示2d矩陣的x軸和y軸座標。我需要檢查同一點的重複條目(x和y是相同的)。檢查兩個數組中的相同值
該程序的想法是:用硬幣表示1和0生成隨機矩陣。用戶輸入矩形矩陣的大小。然後他輸入他將嘗試在包含值1的矩陣中猜測的點數。
我必須檢查相同x軸和y軸(相同點)的重複條目,以便用戶無法獲得點爲「找到」相同的硬幣兩次或更多次..我目前有兩個單獨的陣列中的所有座標..如果有一個更好的辦法讓我這樣做檢查它會很好:)請幫助
import java.util.Random; import java.util.Scanner;
public class myClass {
public static void main(String[] args) {
Scanner vhod = new Scanner(System.in);
System.out.print("Enter dimension: ");
int dimenzija = vhod.nextInt(), vrednost=0;
char[][] polje = generirajMatriko(dimenzija);
izrisMatrike(polje);
//finding the sum of all coins values
for(int i=0; i<dimenzija; i++)
for(int j=0; j<dimenzija; j++)
if(polje[i][j]=='z')
vrednost += 2;
else if(polje[i][j]=='s')
vrednost += 1;
System.out.print("\nTočke: " + vrednost);
System.out.print("\nVnesi število točk, ki jih boš iskal: ");
int st_tock = vhod.nextInt(), x, y, vrednost_najdenih=0;
int[] xsi = new int[st_tock];
int[] yni = new int[st_tock];
for(int i=0; i<st_tock; i++) {
System.out.print("\nVnesi stolpec " + (i+1) + ". točke: ");
x = vhod.nextInt();
xsi[i] = x;
if(x>dimenzija) {
System.out.print("\nZaključili ste z igro in izgubili vse kovance!");
vrednost_najdenih = 0;
break;
}
System.out.print("Vnesi vrstico " + (i+1) + ". točke: ");
y = vhod.nextInt();
yni[i] = y;
if(y>dimenzija) {
System.out.print("\nZaključili ste z igro in izgubili vse kovance!");
vrednost_najdenih = 0;
break;
}
else {
if(polje[y-1][x-1]=='z')
vrednost_najdenih += 2;
else if(polje[y-1][x-1]=='s')
vrednost_najdenih += 1;
}
} //ČE STA TA X IN TA Y ŽE BILA V KOMBINACIJI VNEŠENA IN GA NE ŠTEJE... POGOJ PRED PRIŠTEVANJEM?..MORA SHRANJEVATI ELEMENTE V NPR 2 POLJA..X-SI IN Y-NI
System.out.print("\nVrednost najdenih kovancev: " + vrednost_najdenih);
}
static char[][] generirajMatriko(int dimenzija) {
char[] kovanci = {'z', 's', 'o'};
char[][] polje = new char[dimenzija][dimenzija];
//deklaracija randoma
Random rand = new Random();
for(int i=0; i<dimenzija; i++)
for(int j=0; j<dimenzija; j++)
polje[i][j] = kovanci[rand.nextInt(kovanci.length)];
//vračanje te matrike glavnemu programu
return polje;
}
static void izrisMatrike(char[][] polje) {
//izpis matrike
System.out.print("Generirana matrika: \n");
for(int i=0; i<polje.length; i++) {
for(int j=0; j<polje.length; j++) {
System.out.print("" + polje[i][j]);
if(j!=((polje.length)-1)) //brez izpisa presledka na koncu vrstice
System.out.print(" ");
}
if(i!=((polje.length)-1)) //brez izpisa nove vrstice ob koncu izpisa matrike //RAZMISLI, KER TO DRUGJE NIMAŠ-.-
System.out.print("\n");
}
System.out.print("\n");
}
}
這是一項任務嗎?你的代碼在哪裏? –
顯示已經實現的代碼,然後詢問可能出錯的地方,這看起來像是想要解決的作業。 –
歡迎來到Stack Overflow!請參考[遊覽](http://stackoverflow.com/tour),環顧四周,閱讀[幫助中心](http://stackoverflow.com/help),特別是[我該如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)和[我可以問什麼問題?](http://stackoverflow.com/help/on-topic)。從第二個環節來看:「提出作業幫助的問題必須包括您迄今爲止解決問題所做的工作的總結,並描述您解決問題的難度。」 –