그래서 내 코드는 끝났지 만, 이제는 선택한 숫자가 같거나 가깝지 않은지를 출력해야합니다!패턴 인식
FALSE/NUMBERS ARE EQUAL에 대한 루프를 만들었지 만 올바르게 작동하지 않습니다. 도움을 받으실 수 있기를 바랍니다. 내 코드는 다음과 같습니다
if (numre != numre) {
System.out.println("FALSE");
}
else {
System.out.println("ALLE THE NUMBERS ARE EQUAL");
}
자체에 같은 변수를 비교 :
package patternrecognition;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.TreeMap;
public class PatternRecognition {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int AntalNumre = -1;
boolean Gyldignummer = false;
while (Gyldignummer == false) {
System.out.print("\n\nIndtast antal numre: ");
String numre = reader.readLine().trim();
Gyldignummer = validInteger(numre);
if (Gyldignummer == false) {
System.out.println("Indtast et gyldigt nummer");
} else {
AntalNumre = Integer.parseInt(numre);
}
}
HashMap vaerdier = new HashMap();
for (int i = 0; i < AntalNumre; i++) { //Studerendes nummer(i+1)
boolean GyldigNummer2 = false;
while (GyldigNummer2 == false) {
System.out.print("\n\nIndtast en vaerdi for nummer " + (i + 1) + ": ");
String vaerdi = reader.readLine().trim();
int vaerdien = -1;
GyldigNummer2 = validInteger(vaerdi);
if (GyldigNummer2 == false) {
System.out.println("Indtast et gyldigt nummer");
} else {
vaerdien = Integer.parseInt(vaerdi);
}
vaerdier.put(vaerdi, new Integer(vaerdien));
}
}
TreeMap SorteretNummer = new TreeMap(vaerdier);
Iterator nr = SorteretNummer.keySet().iterator();
System.out.println("\n\n\n\n\n");
System.out.println("Numre valgt:");
System.out.println("------------");
while (nr.hasNext()) {
String navn = (String) nr.next();
int numre = ((Integer) SorteretNummer.get(navn)).intValue();
System.out.println("" + numre);
if (numre != numre) {
System.out.println("FALSE");
}
else {
System.out.println("ALLE THE NUMBERS ARE EQUAL");
}
}
}
public static boolean validInteger(String nummer) {
boolean validInteger = false;
try {
Integer.parseInt(nummer);
validInteger = true;
} catch (NumberFormatException nfe) {
validInteger = false;
}
return validInteger;
}
}
그래서 문제가되는 것 같습니까? http://catb.org/~esr/faqs/smart-questions.html 또는 내가 말하려는 것, 문제가 발생했을 때 그 사실을 알 수 있습니까? – alf
내가 명확하게하지 않으면 죄송합니다. 코드의 botton에서 볼 수 있듯이 "validInteger"직전에 "if (numre! = numre") {print false} else {all numbers ...}를 만들었습니다. 그러나 모든 번호를 확인하지는 않습니다. 그것은 단순히 1 개의 숫자를 인쇄 한 다음 "모든 번호가 있습니다 ..."다음 2 번, "모든 번호가 있습니다 .."등을 인쇄합니다. 입력 할 수있는 번호를 확인하는 방법을 모르겠습니다. – Daniel
"하지만 제대로 작동하지 않습니다."나에게 분명하지 않습니다. 정확히 무엇이 잘못되었는지 설명하면 훨씬 쉬울 것입니다. 덴마크어로 된 의견은 다소 괴롭다. 문제가 발생하지 않고 도움이되지 않기 때문에 문제를 설명 할 수 없다. – alf