当用户输入一个小于0的数字的时候为什么不能重复?

import java.awt.*;
import java.util.Scanner;

public class question3 extends Applet {
String userStr;
public void init(){
userStr = JOptionPane.showInputDialog("Enter no of step");
}
public void paint(Graphics graphics) {
int x=70;
int y=70;
while(Integer.parseInt(userStr)<=0){
System.out.println("please enter a valid step");
Scanner nu=new Scanner(System.in);
}
for(int i=1;i<=Integer.parseInt(userStr);i++){
if (i==1){
graphics.drawLine(10,10,70,10);// horizontal line
graphics.drawLine(70,10,70,70);//vertical line
}else{
graphics.drawLine(x,y,x=70i,y);
graphics.drawLine(x,y, x,y=70
i);
}
}
}
}

import javax.swing.*;
import java.applet.Applet;
import java.awt.*;
public class question3 extends Applet {
    String userStr;
    public void init(){
        userStr = JOptionPane.showInputDialog("Enter no of step");
    }
    public void paint(Graphics graphics) {
        int x=70;
        int y=70;
        while(Integer.parseInt(userStr)<=0){
            System.out.println("please enter a valid step");
            init();
        }
        for(int i=1;i<=Integer.parseInt(userStr);i++){
            if (i==1){
                graphics.drawLine(10,10,70,10);// horizontal line
                graphics.drawLine(70,10,70,70);//vertical line
            }else{
                graphics.drawLine(x,y,x=70*i,y);
                graphics.drawLine(x,y, x,y=70*i);
            }
        }
    }
}