Два цикла while while меня путают.2 do while loop
Я создал функцию, используемую для сопоставления с числом в sql. Если пользовательское значение ввода существует, оно добавит 1. (Object[] array)
удерживает пользовательские значения ввода и сравнивается со значением в sql. В sql есть две строки. Программа должна быть, как это работает:
(Object[] array) // assuming it holds
[2,3]
Object[] array1 // holding
[1,2,3,0,0] and [2,5,6,0,0]
Output : 2 1
Но я не могу получить любой выход ... Что случилось с моим кодом?
Я уверен, что ошибка происходит из CountMatching (Object [] массив, Object [] array1)
public void ComparePre(Object[] array) throws Exception {
String sql="Select Pre1,Pre2,Pre3,Pre4,Pre5 from preferences ";
DatabaseConnection db = new DatabaseConnection();
Connection conn =db.getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
Object[] b=new Object[5];
while (rs.next()) {
Vector r = new Vector(); // sql data to vector
r.add(rs.getInt("Pre1"));
r.add(rs.getInt("Pre2"));
r.add(rs.getInt("Pre3"));
r.add(rs.getInt("Pre4"));
r.add(rs.getInt("Pre5"));
System.out.println(r);
Object[] array1 = new Object[5];
r.copyInto(b);
}
CountMatching(array,b);
ps.close();
rs.close();
conn.close();
}
private void CountMatching(Object[] array, Object[] array1) {
int count=0;
int a=0;
do {
int b=0;
do {
if(array[a]==array1[b]) {
count++;
} else if(array[a]!=array1[b]) {
b++;
}
} while(b<array1.length);
a++;
} while (a<array.length);
System.out.println(count);
}
Что это делается? Что вы сравниваете? –
Я хочу сравнить все значения в массиве с массивом. Пример: array hold [2,3] и array1 содержит [1,2,3,0,0]. Индекс 0 в массиве будет сравнивать весь индекс в массиве1. После завершения сравнения он будет продолжать сравнивать индекс 1 в массиве и снова начинать с индекса 0 в массиве. –