Мне нужно сделать метод, который получает два массива (одинаковая длина), а их значения представляют координаты оси x и y матрицы 2d. Мне нужно проверить дубликаты записей одной и той же точки (x и y одинаковы).Проверка одинаковых значений в двух массивах
Идея программы: случайная матрица генерируется с монетами, представленными 1 и 0. Пользователь вводит размер квадратной матрицы. Затем он вводит количество очков, которые он попытается угадать в матрице, которые содержат значение 1.
Я должен проверить дублирующие записи одной и той же оси x и y (одинаковые точки), чтобы пользователь не мог получить очки для того, чтобы «найти» одну и ту же монету два или более раз. В настоящее время у меня есть все координаты в двух отдельных массивах. Если есть лучший способ для меня сделать это, это будет здорово :) PLS help
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");
}
}
Это задание? где ваш код? –
Покажите свой код, который уже реализован, а затем спросите, что может быть неправильно, это выглядит как домашнее задание, которое вы хотите разрешить. –
Добро пожаловать в переполнение стека! Пожалуйста, примите [тур] (http://stackoverflow.com/tour), осмотритесь и прочитайте [справочный центр] (http://stackoverflow.com/help), в частности [Как я могу спросить хороший вопрос?] (http://stackoverflow.com/help/how-to-ask) и [Какие темы можно задать здесь?] (http://stackoverflow.com/help/on-topic). Из этой второй ссылки: «Вопросы, требующие помощи в домашних заданиях, должны содержать резюме работы, которую вы сделали до сих пор, для решения проблемы, и описание проблемы, которую вы решаете». –