Ich studiere Java mit Deitel und Deitel und ich verwende die Intellij IDEA IDE. In einem der Beispiele des Buches, das ich in die IDE kopiert habe, schreibt es eine for
Schleife mit einer Initialisierungsvariablen. Wenn ich den Compiler starte, gibt es eine Fehlermeldung, dass "Java das Symbol (Variable) nicht finden kann". Obwohl ich weiß, dass Schleifenvariablen keine Initialisierung vor der Schleife benötigen, habe ich versucht, sie als Instanzvariable vor der Schleife zu deklarieren, und sie wird ausgeführt, aber das Ergebnis ist nicht das, was es sein soll (es ergibt eins) Rechteck oder ein Oval, je nachdem, welchen Schalterfall ich betrete, aber es soll mir 10 von ihnen durch die for-Schleife geben, die offensichtlich nicht ausgeführt wird). Der switch
Block befindet sich innerhalb der for
Schleife. Warum wird die i
Variable nicht initialisiert?Loop-Variable nicht initialisiert in For-Schleife mit IntellijIDEA
Hier ist der Code.
package com.example.java;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Shapes extends JPanel
{
private int choice;
public Shapes(int userChoice)
{
choice = userChoice;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
for (int i = 0; i < 10; i++);
{
switch(choice)
{
case 1:
g.drawRect(10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i*10);
break;
case 2:
g.drawOval(10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i*10);
break;
}
}
}
}
Löschen Sie das Semikolon am Ende von 'for (int i = 0; i <10; i ++);'. Andernfalls endet Ihre 'for'-Schleife am Semikolon und der' switch'-Block liegt außerhalb des Bereichs von 'i'. – khelwood
Danke! Ich habe vergessen, wie oft ich das noch einmal gelesen habe und ich lasse immer noch so etwas passieren! Ich hätte es mit dem Ergebnis, das ich bekommen hatte, vermutet! – NeoTrader