2015-09-09 1 views
0
Pane pane = new Pane(); 
String str = new String("Welcome To Java"); 
String[] ary = str.split(""); 


for(int i =0; i<=str.length(); i++){ 
    int x = 50; 
    int y = 100; 
    int r = 3; 
    Text text2 = new Text(x,y, ary[i]); 
    text2.setRotate(r); 
    pane.getChildren().add(text2); 
    x+10; 
    y+5; 
    r+3; 
} 


Scene scene = new Scene(pane); 
primaryStage.setScene(scene); 
primaryStage.setMinWidth(200); 
primaryStage.setMinHeight(200); 
primaryStage.setResizable(true); 
primaryStage.setTitle("Welcome To Java"); 
primaryStage.show(); 

Je suis en train de changer les coordonnées pour tous les caractères dans le tableau chaque boucle, mais cela me donne un « pas une erreur de déclaration » à x+10, y+5 et r+3.Que signifie une déclaration non?

+1

En effet, cela signifie que ces lignes ne font rien. Ils retournent une valeur, mais ne font rien avec. Votre programme serait identique si ces lignes n'existaient pas. – resueman

+1

vous devez également déclarer x, y .. en dehors de la boucle –

+0

En outre, vous pouvez utiliser x = x + 10; au lieu de x + 10; – Rehman

Répondre

2

Les instructions doivent être complètes car elles doivent être résolues en tant qu'expression.

déclarations valides seront

x= x+10; 
    y= y+5; 
    r= r+3; 

Et il semble que votre logique est brisée, les incréments se produisent à chaque itération. Déclarez-les en dehors de la boucle pour obtenir la sortie désirée.

+0

Probablement, j'ai raté quelque chose ici, pouvez-vous s'il vous plaît expliquer @downvoter? nous pouvons apprendre ensemble. –

0

déclarant en dehors de la boucle compile très bien, mais il me donne encore ce msg:

Exception in Application start method 
Exception in thread "main" java.lang.reflect.InvocationTargetException 

Caused by: java.lang.RuntimeException: Exception in Application start method 

Caused by: java.lang.ArrayIndexOutOfBoundsException: 15