Я сделал этот кусок кода, который должен попросить пользователя ввести длину первых массивов, которая будет содержать количество чисел, которое он хочет, чем получение каждого числа до тех пор, пока сумма не будет выполнена. после этого ему нужно запросить длину массива цифр и получить цифры. чем, мне нужно проверить, не содержат ли все цифры все цифры, если это правда, напечатайте, если нет, напечатайте false. В этом коде я уже заменяю int [] строковыми массивами, потому что я думаю, что так оно и работает. , когда я пытался создавать массивы Int, только с номерами с одной цифрой, отлично работает. Проблема возникает, когда вы хотите, чтобы номер 22 с 2 цифрами, проверка прерываний и не работающая.Проверка наличия всех цифр в другом массиве
String numInNumbersArray,
digitInDigitsArray;
int counterNumbers=0;
System.out.println("Please enter the length of the numbers array: ");
int numbersLength=s.nextInt();
String[] numbersArray=new String [numbersLength];
System.out.printf("Please enter %d numbers: ",numbersLength);
for(int i=0;i<numbersArray.length;i++){
numInNumbersArray=s.next();
numbersArray[i]=numInNumbersArray;
}
System.out.println("Please enter the length of the digits array: ");
int digitsLength=s.nextInt();
String[] digitsArray=new String [digitsLength];
System.out.printf("Please enter %d digits between 0 - 9 and - if you want: ",digitsLength);
for(int i=0;i<digitsArray.length;i++){
digitInDigitsArray=s.next();
digitsArray[i]=digitInDigitsArray;
}
for(int i=0;i<digitsArray.length;i++){
for(int j=0;j<numbersArray.length;j++){
if(numbersArray[j].equals(digitsArray[i])){
counterNumbers++;
}
}
}
if(counterNumbers==numbersArray.length){
System.out.println("true\n");
}else{
System.out.println("false\n");
}
Так что, очевидно, нужно массив строк, но я понятия не имею, как продолжить здесь, чтобы проверить каждую цифру из числа. (Я не могу использовать передовые методы, только простые проверки). Ваша помощь или настройка были бы замечательными. Благодарю.
EDIT: Это должно быть строка, поскольку она также maight содержать «-» (negetive номера) , чтобы сделать его более clealry понять, я буду добавлять примеры:
digits arrays for example : (1,2,-,3)
and numbers array : (1,-2,3)
это должно вернуться верно.
and digits: (1,2,3)
numbers: (12,-3,123)
должен возвращать значение false.
'numbersArray [j] == digitsArray [i]' Нет, вы сравниваете строки с == .. Argh! Дополнительные сведения см. В разделе [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) –
К сожалению. это не мое, но это не изменит мою главную проблему, так как мне нужно переместить все число за каждую цифру и проверить, и это моя основная проблема. – rassko
Ваша проблема не совсем ясна: «Мне нужно проверить, все ли цифры содержат все цифры »- вы должны сказать лучше, или даже привести пример, когда это правда, и когда false. Но в любом случае основой для этого будут деления чисел, которые вы получаете на цифры.Итак, сначала вы сохраняете ввод в массив int [], а затем на каждом int в этом массиве вы делаете что-то вроде этого: do { newArray [index ++] = number% 10; номер/= 10; } while (number> 0) –