有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

我正在用java编写一个程序,它可以打印从1到x的数字(x是用户输入值)。这是使用for循环和方法语句

这是使用for循环和方法语句

   `import java.util.Scanner;
    class MethodLoop{
        public static void main(String [] args){
            Scanner s = new Scanner (System.in);
            System.out.println("Enter a number: ");
            int x= s.nextInt();
        }
        public static void print (int y){
            for(int y=1;y<x;x++){
                System.out.println(y);
            }
        }
    }`

//public static void print是我获取错误的地方


共 (6) 个答案

  1. # 1 楼答案

    您应该在print()方法中使用条件y <= x运行for循环, 还要更新在public static void print(int x)中传递的变量名 在接受用户输入调用后print(x)

  2. # 2 楼答案

    你的程序有一些错误。您试图使用变量x,但它在函数print(int)的范围内不可见,因为它既不是全局变量,也不是作为参数传递的

    接下来,您可能想将x作为参数传递给print函数,而不是y,以便在循环中使用它作为限制

    最后,您将y声明为循环变量,但增加了x。这段代码可以很容易地在无限循环中完成。您可能想增加y。现在可以从main调用函数了

    以下是您可能已经想到的(可能的)解决方案:

    import java.util.Scanner;
    class MethodLoop{
    public static void main(String [] args){
         Scanner s = new Scanner (System.in);
         System.out.println("Enter a number: ");
         int x= s.nextInt();
         print(x);
     }
     public static void print (int x){
         for(int y=1;y<x;y++){
             System.out.println(y);
         }
     }}
    
  3. # 3 楼答案

    正如Logan在评论中所说,您的问题是print方法不“知道”变量x。您需要做的是将参数中的变量(括号中的内容)交给该方法。因此,将其更改为public static void print (int x),将x变量移到方法中。然后,在for循环中增加x,需要通过将x++更改为y++来增加y

    最后,您需要实际告诉您的程序使用该方法,方法是将print(x)放在主方法的底部

  4. # 4 楼答案

    也许您希望在打印方法中通过x而不是y。 此外,应该在for循环中增加y而不是x

  5. # 5 楼答案

    public static void print (int y){更改为public static void print (int x){,然后从main调用它

    编辑 yes还将循环更改为y++

  6. # 6 楼答案

    无法从其他块访问局部变量。您可以尝试添加x作为参数,并从main方法调用print方法