我正在用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是我获取错误的地方
# 1 楼答案
您应该在print()方法中使用条件
y <= x
运行for循环, 还要更新在public static void print(int x)
中传递的变量名 在接受用户输入调用后print(x)
# 2 楼答案
你的程序有一些错误。您试图使用变量
x
,但它在函数print(int)
的范围内不可见,因为它既不是全局变量,也不是作为参数传递的接下来,您可能想将
x
作为参数传递给print
函数,而不是y
,以便在循环中使用它作为限制最后,您将
y
声明为循环变量,但增加了x
。这段代码可以很容易地在无限循环中完成。您可能想增加y
。现在可以从main
调用函数了以下是您可能已经想到的(可能的)解决方案:
# 3 楼答案
正如Logan在评论中所说,您的问题是
print
方法不“知道”变量x
。您需要做的是将参数中的变量(括号中的内容)交给该方法。因此,将其更改为public static void print (int x)
,将x
变量移到方法中。然后,在for
循环中增加x,需要通过将x++
更改为y++
来增加y
最后,您需要实际告诉您的程序使用该方法,方法是将
print(x)
放在主方法的底部# 4 楼答案
也许您希望在打印方法中通过x而不是y。 此外,应该在for循环中增加y而不是x
# 5 楼答案
将
public static void print (int y){
更改为public static void print (int x){
,然后从main调用它编辑 yes还将循环更改为
y++
# 6 楼答案
无法从其他块访问局部变量。您可以尝试添加x作为参数,并从main方法调用print方法