我刚刚开始在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;
}
}
错误:
Main.java:14: error: illegal start of type
while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
^
Main.java:14: error: illegal start of type
while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
^
Main.java:14: error: ')' expected
while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
^
Main.java:14: error: ';' expected
while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
^
Main.java:14: error: invalid method declaration; return type required
while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
^
Main.java:14: error: ';' expected
while (!reader.hasNextInt() && !tree_height<=max_height && tree_height>=min_height) {
^
Main.java:25: error: illegal start of type
return int tree_height;
^
Main.java:25: error: ';' expected
return int tree_height;
^
Main.java:25: error: <identifier> expected
return int tree_height;
答案 0 :(得分:1)
您使用了一个类声明,您需要一个方法:
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;
}
而不是另一个内部阶级。
除此之外,请遵循类,方法和变量的Java命名约定。在Java中,虽然允许,但使用&#34; underline-seperation&#34;并不常见且不鼓励。样式,称为 snake_case 。在Java中,使用camelcase。也就是说,类名以大写字母开头,并继续小写。在每个单词上,你再次开始大写。
方法和变量以小写开头,常量都是高位。
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
...