Java程序中的错误,y=mx+;b.有方法
我试图制作一个程序,用户在其中输入变量m和b的值,然后将这些变量传递给一个方法linear(),该方法使用传递的变量打印函数“y=mx+b”。PFB代码:Java程序中的错误,y=mx+;b.有方法,java,Java,我试图制作一个程序,用户在其中输入变量m和b的值,然后将这些变量传递给一个方法linear(),该方法使用传递的变量打印函数“y=mx+b”。PFB代码: import java.util.Scanner; import java.io.*; public class line { double m, b; public void liner(double m,double b) { System.out.print("y = " + m + "x +
import java.util.Scanner;
import java.io.*;
public class line
{
double m, b;
public void liner(double m,double b)
{
System.out.print("y = " + m + "x + " + b);
}
public static void main(String args[])
{
Scanner reader = new Scanner(System.in);
System.out.print("What is the Slope");
m = reader.nextInt();
reader.close();
System.out.print("What is the Y Intercept");
b = reader.nextInt();
reader.close();
liner (m, b);
}
}
运行上述程序时,我遇到以下错误:
/line.java:17: error: non-static variable m cannot be referenced from a static context
m = reader.nextInt();
^
/line.java:20: error: non-static variable b cannot be referenced from a
static context
b = reader.nextInt();
^
/line.java:22: error: non-static variable m cannot be referenced from a
static context
liner (m , b);
^
/line.java:22: error: non-static variable b cannot be referenced from a
static context
liner (m , b);
^
/line.java:22: error: cannot find symbol
liner (m , b);
^
symbol: method liner(double,double)
location: class line
5 errors
您需要将
m
和b
的变量声明移动到main方法中,并在liner
方法上添加一个static
修饰符
变量m
和b
不在main
方法的范围内,因此无法访问它们。请在此处阅读有关范围的内容:
如果没有
static
修饰符,则在main
中调用liner
方法时,尚未创建该方法,这就是您收到此错误的原因。在这里阅读有关类成员的信息:添加import java.util.Scanner代码>,并删除
在public void liner(双m,双b)
之后。在方法的声明后面放一个分号。删除它以修复问题。投票结束是一个打字错误。