2017-01-09 4 views
-3

Kann jemand den Fehler im Programm finden. Ich möchte die Elemente eines Arrays in umgekehrter Weise drucken, indem ich Fehler nach der Ausführung des Programms bekomme kann mir jemand helfen.?Fehler beim Drucken von Elementen des Arrays in umgekehrter Reihenfolge. - Java

int i,n; 
Scanner in=new Scanner(System.in); 
System.out.print("Enter range- "); 
n=in.nextInt(); 
int ar[] = new int[n]; 
for(i=0;i<=n;i++) 
{ 
    i=in.nextInt(); 
    ar[i]=in.nextInt(); 
} 
for(i=n-1;i>0;i--) 
{ 
    System.out.print("Enter elements" +ar[i]); 
} 
+0

Was ist der Fehler, den Sie bekommen? –

+0

Was ist der Fehler? Ist dieser Fehler (oder Ausnahme) etwas? Habe das Debuggen probiert? – NewUser

+0

Es gibt kein 'n' Element in einem' n' Dimensions-Array. Nur bis zu "n-1". – RealSkeptic

Antwort

1

i ist Ihre Schleifenvariable, nicht i in der Schleife ändern (mit Benutzereingabe). Arrays beginnen auch bei 0 (nicht 1). So

for(i=0;i<n;i++) 
{ 
    // i=in.nextInt(); 
    ar[i]=in.nextInt(); 
} 
System.out.println("Entered elements"); 
for(i=n-1;i>=0;i--) 
{ 
    System.out.print(ar[i] + " "); 
} 
System.out.println(); 
+0

und der Zustand der ersten Schleife ist 'i AxelH

0

Sie haben einige Fehler in Ihrem Programm:

zuerst müssen Sie nicht i bei Beginn des Programms zu erklären, haben nur in für Schleife

Sekunden Sie i Wert auf Benutzereingaben in jeder zuweisen Iteration von for-Schleife i=in.nextInt();

und Sie setzen für for Schleife i <= n wird es zusätzliche Element zu dem Array mehr als die erforderliche Größe zuweisen.

auch in for-Schleife, die Werte von Array in umgekehrter Reihenfolge drucken, es wird nicht den ersten Indexwert von Array drucken, da Sie Zustand versetzt i > 0;

int n; 
Scanner in=new Scanner(System.in); 
System.out.print("Enter range- "); 
n=in.nextInt(); 
int ar[] = new int[n]; 
for(int i=0;i<n;i++) 
{ 
    ar[i]=in.nextInt(); 
} 
for(int i=n-1;i>=0;i--) 
{ 
    System.out.print("Enter elements" +ar[i]); 
} 
+0

das ok ich werde es tun – Matrix

Verwandte Themen