当前位置: 首页 > 面试题库 >

System.out.println中的错误

戚同
2023-03-14
问题内容

以下代码中有错误吗?它显示找不到符号,符号:类出位置:类系统。在日志中,它显示了很多错误,包括

java.lang.ClassFormatError:类Area中的方法“”具有非法签名“(Ljava / lang / Object;)Ljava /
lang / System $ out $ println;”

import java.util.*;
class Area
{
double pi=3.14;
Scanner sc=new Scanner(System.in);
System.out.println("Enter the value of r");
int r=sc.nextInt();
System.out.println("enter the value h");
int h=sc.nextInt();
void areaOfCircle()
   {
     double area1=pi*r*r;
     System.out.println("area of circle="+area1);
   }
void areaOfCylinder()
   {
     double area2=2*pi*r*(r+h);
     System.out.println("area of cylinder="+area2);
   }
public static void main(String args[])
   {
     Area a=new Area();
     a.areaOfCircle();
     a.areaOfCylinder();
   }
}

问题答案:

该语句System.out.println("");应写在某些块中。不能直接在课堂上写。

public class ClassName {
   System.out.println("this statement gives error"); // Error!! 
}

它应该放在大括号内,{...}例如:

{ System.out.println("this works fine"); }

这种方式是一个初始化程序块。

或应使用类似以下的方法编写:

public void methodName(){
    System.out.println("inside a method, prints fine");
}

您的完整程序 应类似于:

public class Area {
double pi = 3.14;
int r;
int h;

void areaOfCircle() {
    double area1 = pi * r * r;
    System.out.println("area of circle=" + area1);
}

void areaOfCylinder() {
    double area2 = 2 * pi * r * (r + h);
    System.out.println("area of cylinder=" + area2);
}

public static void main(String args[]) {

    Scanner sc = new Scanner(System.in);
    System.out.println("Enter the value of r");
    Area a = new Area();
    a.r = sc.nextInt();
    System.out.println("enter the value h");
    a.h = sc.nextInt();
    a.areaOfCircle();
    a.areaOfCylinder();
   }
}


 类似资料:
  • 问题内容: 首先感到遗憾的是,如果这是一个非常基本的问题,我建议我仍然是代码猴子。我在一次采访中被要求阐明System.out.println(); 我解释了以下方式 我已经解释说System.out是有效的,因为这是我们在Java中访问静态变量的方式,而out是PrintStream的对象,因此我们可以访问其方法。 他要求我模拟一个类似的程序,我跟踪了它,但是它没有用,因为System.out返

  • 问题内容: 假设我要打印5行。哪种方法最好(提高性能和可读性)。 要么 是偏好问题还是一个优于另一个问题。使用第二种方法似乎可以节省很多时间。 问题答案: 有一个 功能性 两者之间的区别。第一个版本使用平台的首选行分隔符输出换行符。第二个版本输出换行符,这在Windows或Mac OS上可能是不合适的。 这比任何实际或想象的性能优势都重要。 关于性能,以及为什么每个人似乎都说“已经足够”了。 两种

  • 问题内容: 当我执行以下操作时,我想知道确切的输出是什么。 我知道它提供了一些与对象有关的东西,因为我的输出是 data @ 1ae73783 。我猜 1ae73783 是一个十六进制数字。我也做了一些工作并打印 我得到了号码 415360643 。我得到一个整数值。我不知道返回什么,仍然出于好奇,当我将 1ae73783 转换为十进制时,我得到 415360643 ! 这就是为什么我对这个数字到

  • 我有一个关于java中的方法的问题,我已经检查了在线资源,但我不能得到我想要的答案。我想知道为什么下面的声明中的“out”和“println”必须是小写字母?

  • 问题内容: 和之间的技术区别到底是什么?我知道这会写入标准输出,但这与控制台不同吗? 我不完全理解的文档进行。 问题答案: 以下是使用/ / 和之间的主要区别: 如果您的应用程序未在终端中运行,则返回null(尽管您可以在应用程序中处理此问题) 提供读取密码而不回显字符的方法 并使用默认平台编码,而类输出方法使用控制台编码 后一种行为可能不会立即显而易见,但是像这样的代码可以证明区别: 在我的Wi

  • 编辑:许多人对这个问题感到困惑。上限的使用只是为了创建这个示例。我知道这是不正确的。问题是,如果反编译上面的代码,您将看到编译器将t.getTheString(implclass.class)结果类型转换为String,因为它可能不确定类型。我的问题是,如果它是典型的反对会不会更好。在这种情况下,它将调用toString()方法,代码将正常工作。这是Java编译器的问题还是我在这里遗漏了什么?