Java while循环中类型的非法开始

Java while循环中类型的非法开始,java,while-loop,Java,While Loop,我刚开始在学校用java编程。(我已经用Python和HTML/CSS编写了代码。)我没有太多的时间,而且有点匆忙。我不理解我正在做的每一件事,希望你能解释清楚。我没有真正了解静态和公共事务。无论如何,我目前的主要问题是我的while循环中有很多错误。你能帮我修一下吗?非常感谢。这是我的代码和错误 import java.util.scanner; public class happy_tree { public static class constants{ public s

我刚开始在学校用java编程。(我已经用Python和HTML/CSS编写了代码。)我没有太多的时间,而且有点匆忙。我不理解我正在做的每一件事,希望你能解释清楚。我没有真正了解静态和公共事务。无论如何,我目前的主要问题是我的while循环中有很多错误。你能帮我修一下吗?非常感谢。这是我的代码和错误

import java.util.scanner;

public class happy_tree {
    public static class constants{
    public static final string draw_char = "|";
    public static final int max_height = 40;
    public static final int min_height = 5;
    }
    public static void main(String[] args) {
        tree_height = get_user_input();
    }
    public static class get_user_input{
        Scanner reader = new Scanner(System.in);
        while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
            System.out.println("Veuillez entrer la hauteur du sapin à dessiner: ");
            tree_height = reader.nextInt();
            if (!reader.hasNextInt()){
                System.out.println("Veuillez entrer un nombre entier.");
            }else if (tree_height>max_height){
                System.out.println("Veuillez entrer une valeur entre 5 et 40.");
            }else if (tree_height<min_height){
                System.out.println("Veuillez entrer une valeur entre 5 et 40.");
            }
        }
        return int tree_height;
    }
}
import java.util.scanner;
公共课快乐树{
公共静态类常量{
公共静态最终字符串draw_char=“|”;
公共静态最终内部最大高度=40;
公共静态最终内部最小高度=5;
}
公共静态void main(字符串[]args){
树高度=获取用户输入();
}
公共静态类获取用户输入{
扫描仪阅读器=新扫描仪(System.in);
而(!reader.hasNextInt()&&!tree\u height=min\u height){
系统输出打印(Veuillez enter la hauteur du sapinádessiner:);
树的高度=reader.nextInt();
如果(!reader.hasNextInt()){
System.out.println(“Veuillez enter un nombre enter.”);
}否则如果(树高>最大高度){
系统输出打印(“Veuillez entre une valeur entre 5 et 40”);

}否则,如果(tree_height在需要方法的地方使用了类声明:

 public void get_user_input() {
        Scanner reader = new Scanner(System.in);
        while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
            System.out.println("Veuillez entrer la hauteur du sapin à dessiner: ");
            tree_height = reader.nextInt();
            if (!reader.hasNextInt()){
                System.out.println("Veuillez entrer un nombre entier.");
            }else if (tree_height>max_height){
                System.out.println("Veuillez entrer une valeur entre 5 et 40.");
            }else if (tree_height<min_height){
                System.out.println("Veuillez entrer une valeur entre 5 et 40.");
            }
        }
        return int tree_height;
    }

public static final string draw_char=“|”;
应该是
public static final string draw_char=“|”;
我认为这不是一个dup,因为op混合了类和方法定义,而不是赋值。“重复”问题提供了一个不适用于这里的解决方案。
 public void get_user_input() {
        Scanner reader = new Scanner(System.in);
        while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
            System.out.println("Veuillez entrer la hauteur du sapin à dessiner: ");
            tree_height = reader.nextInt();
            if (!reader.hasNextInt()){
                System.out.println("Veuillez entrer un nombre entier.");
            }else if (tree_height>max_height){
                System.out.println("Veuillez entrer une valeur entre 5 et 40.");
            }else if (tree_height<min_height){
                System.out.println("Veuillez entrer une valeur entre 5 et 40.");
            }
        }
        return int tree_height;
    }
public class HappyTree { ...  // class : Upper case start, camel case

    public static class Constants {
        public static final String DRAW_CHAR = "|";  // constant, all upper, underscore allowed

        ...


    public void getUserInput() { // methods: start lower, camel case

     ...