что я хочу сделать: при запуске программы пользователь должен ввести число.Когда число равно 1, оно войдет в цикл прямоугольной графики.На экране появится изображение стеков прямоугольников ().Затем пользователь должен закрыть графику (сцену), и программа снова запрашивает ввод от пользователя.Если пользователь отвечает 1, изображение прямоугольника будет появляться снова и так до тех пор, пока пользователь не даст ответ, отличный от 1. Моя проблема заключается в том, что изображение прямоугольника не будет отображаться, когда я вставлю ввод «1», а окно с изображением прямоугольника не отвечает.Кроме того, когда я дал ответ, отличный от 1, в первой части программы, я подумал, что программа завершится словами «Процесс завершен с кодом завершения 0», но это не так.Я мог принудительно остановить его только кнопкой «Стоп».Может кто-нибудь мне помочь?Спасибо.
package sample;
import java.io.*;
import java.util.*;
import javafx.application.Application;
import javafx.scene.layout.AnchorPane;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.scene.Scene;
import static javafx.scene.paint.Color.BLUE;
import static javafx.scene.paint.Color.RED;
public class Main extends Application{
@Override
public void start (Stage primaryStage) throws Exception
{
System.out.println("Enter a number: ");
Scanner scanner = new Scanner(System. in);
int xx = scanner.nextInt();
while(xx==1)
{
Rectangle rectangle;
ArrayList<Boolean> bool = new ArrayList<Boolean>();
AnchorPane root = new AnchorPane();
for(int i=0; i<10; i++)
{
if(i%2 ==0)
bool.add(true);
else
bool.add(false);
}
//Coordinate variables
int y=50;
//Rectangle loop
for(int i=0; i<10; i++)
{
rectangle = new Rectangle();
if(bool.get(i))
{
rectangle.setX(50);
rectangle.setY(y);
rectangle.setWidth(150.0);
rectangle.setHeight(50.0);
rectangle.setFill(RED);
}
else
{
rectangle.setX(50);
rectangle.setY(y);
rectangle.setWidth(150.0);
rectangle.setHeight(50.0);
rectangle.setFill(BLUE);
}
y+=50;
root.getChildren().add(rectangle);
}
primaryStage.setTitle("Rectangle");
Scene scene = new Scene(root ,600, 700);
primaryStage.setScene(scene);
primaryStage.show();
primaryStage.setResizable(false);
xx=scanner.nextInt();
}
}
public static void main (String[] args)
{
launch(args);
}
}