Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我正在用java编写一个程序,它可以打印从1到x的数字(x是用户输入值)。这是使用for循环和方法语句_Java - Fatal编程技术网

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

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

这是使用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);
            }
        }
    }`
导入java.util.Scanner; 类方法循环{ 公共静态void main(字符串[]args){ 扫描仪s=新的扫描仪(System.in); System.out.println(“输入一个数字:”); int x=s.nextInt(); } 公共静态无效打印(整数y){
对于(inty=1;y将
publicstaticvoidprint(inty){
更改为
publicstaticvoidprint(intx){
,然后从main调用它

编辑
yes还将循环更改为
y++
公共静态无效打印(inty){
更改为
公共静态无效打印(intx){
,然后从main调用它

编辑
是,也可以将循环更改为
y++
也许您希望在打印方法中通过x,而不是通过y。
此外,您应该在for循环中增加y,而不是x。

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

您不能从另一个块访问局部变量。您可以尝试添加x作为参数并从main方法调用print方法。

您不能从另一个块访问局部变量。您可以尝试添加x作为参数并从main方法调用print方法。

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


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

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


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

您的程序中有一些错误。您试图使用变量
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);
     }
 }}
import java.util.Scanner;
类方法循环{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
System.out.println(“输入一个数字:”);
int x=s.nextInt();
印刷品(x);
}
公共静态无效打印(int x){

对于(int y=1;y您的程序中有一些错误。您试图使用变量
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);
     }
 }}
import java.util.Scanner;
类方法循环{
公共静态void main(字符串[]args){
扫描仪s=新的扫描仪(System.in);
System.out.println(“输入一个数字:”);
int x=s.nextInt();
印刷品(x);
}
公共静态无效打印(int x){

对于(int y=1;y您应该在print()中运行for循环,条件是
y您应该在print()中运行for循环方法使用条件<代码> y,请清楚地编辑您的问题。例如:考虑使用更短、更简洁的标题,解释代码片段的上下文,列出您正在接收的错误。1和X之间的数字不打印。没有显示错误。它所要求的是数字,这是请编辑Y。例如:考虑使用更短、更简洁的标题,解释代码片段的上下文,列出您正在接收的错误。1和X之间的数字不打印。没有显示错误。它所要求的是数字,即IITT不打印1和XIT之间的数字不是PR。在类中输入介于1和xIs之间的数字是您的代码吗?在您提供的代码上方是否有类似于
public class myProgram{
的行?顶部应该有
import java.util.Scanner;
@BobetJohn这应该只是一个片段,但好的,我也添加了导入。感谢您的支持