Ich versuche, einen Code zu schreiben. Dort erhalte ich maximal 1000 (int) Eingaben von einem Benutzer (es muss Array [1000] sein) und es werden die Ints in derselben Reihenfolge ausgedruckt, in der sie gelesen wurden. Das Lesen kann mit Strg + Z gestoppt werden wenn der Benutzer das möchte. Das Programm schreibt keine Dublettennummern aus.So überprüfen Sie doppelte Nummern und drucken die gelesenen Eingangsnummern in der gleichen Reihenfolge aus, in der sie gelesen wurden (mit Ausnahme aller Duplikate.)
Beispiel;
Input: 45 77 -22 3 45 0 21 -1 3 Output: 45 77 -22 3 0 21 -1
bisher i codiert hat (innerhalb von 2 Tagen);
static int i = 0;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] array = new int[1000];
int[] arrayCopy = new int[1000];
int k=0,j=0;
System.out.println("enter your integer numbers");
while(input.hasNext())
{
array[i] = input.nextInt();
for(j =0 ; j< array.length; j++)
{
arrayCopy[j] = array[j];
}
for(k =1; k<arrayCopy.length; k++)
{
int aV = arrayCopy[k];
}
i++;
}
input.close();
}
}
Hallo agin @dharms nicht bewahrt Ich mag würde lernen, was diejenigen Code zu tun, wenn ich nicht bin stört Sie (könnten Sie bitte erklären); if (! seenNumbers.containsKey (Wert)) { Ergebnis + = "" + Wert; seenummers.put (value, true); } und warum haben Sie hashmap anstelle von hashset verwendet? Vielen Dank –
Das prüft, ob der aktuelle 'int' bereits in der Map ist und nur gedruckt wird, wenn dies nicht der Fall ist. Sie können entweder eine HashMap oder HashSet verwenden, um dies zu erreichen. Ein HashSet implementiert tatsächlich eine HashMap hinter den Kulissen, sodass Sie eine Map unabhängig von Ihrer Wahl verwenden. – dharms