&引用';无效';此处不允许输入“;错误(Java)
当我试图编译此文件时:&引用';无效';此处不允许输入“;错误(Java),java,Java,当我试图编译此文件时: import java.awt.* ; class obj { public static void printPoint (Point p) { System.out.println ("(" + p.x + ", " + p.y + ")"); } public static void main (String[]arg) {
import java.awt.* ;
class obj
{
public static void printPoint (Point p)
{
System.out.println ("(" + p.x + ", " + p.y + ")");
}
public static void main (String[]arg)
{
Point blank = new Point (3,4) ;
System.out.println (printPoint (blank)) ;
}
}
我得到这个错误:
obj.java:12: 'void' type not allowed here
System.out.println (printPoint (blank)) ;
^
1 error
我真的不知道如何开始问这个问题,除了问:
- 这里出了什么问题李>
- 这个错误消息是什么意思
printPoint
结果。您需要更改代码以执行以下两项操作之一:
class obj
{
public static void printPoint (Point p)
{
System.out.println ("(" + p.x + ", " + p.y + ")");
}
public static void main (String[]arg)
{
Point blank = new Point (3,4) ;
printPoint (blank) ;
}
}
或者这个:
class obj
{
public static String printPoint (Point p)
{
return "(" + p.x + ", " + p.y + ")";
}
public static void main (String[]arg)
{
Point blank = new Point (3,4) ;
System.out.println (printPoint (blank)) ;
}
}
您正在将无效的
printPoint()
的结果传递给println()
函数。如果方法返回void
,则无需打印,因此会显示此错误消息。由于printPoint已经将数据打印到控制台,您只需直接调用它:
printPoint (blank);
类型问题是,
println
需要打印一个字符串,但是您调用的不是字符串,而是返回void
的printPoint
方法
您只需调用
printPoint(blank)在主函数中输入code>,并将其保留在该位置。printPoint
自行打印,而不是返回字符串。要修复调用printPoint
(空白)而不使用System.out.println
更好的选择可能是:使printPoint(Point p)
返回一个字符串(并将其名称更改为类似formattoint
),这样可以使用该方法为控制台、GUI、打印等设置点的格式,而不是绑定到控制台。您可能想要执行的操作:printPoint(blank)代码>。看起来您正在尝试打印两次;一次进入printPoint()
,一次进入main()