首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在System.out.println中调用方法时显示错误“Cannot resolve method 'println(void)‘”

这个错误提示表明在调用 System.out.println 方法时,传递了一个 void 类型的参数,而 System.out.println 方法并不接受 void 类型的参数。

基础概念

System.out.println 是 Java 中用于在控制台输出信息的方法。它有多个重载版本,可以接受不同类型的参数,如 Stringintdouble 等,但不接受 void 类型的参数。

错误原因

错误的原因通常是因为你在调用 System.out.println 方法时,传递了一个返回值为 void 的方法调用作为参数。例如:

代码语言:txt
复制
public class Example {
    public static void main(String[] args) {
        System.out.println(printVoid()); // 这里会报错
    }

    public static void printVoid() {
        System.out.println("This is a void method.");
    }
}

在这个例子中,printVoid 方法返回 void,而 System.out.println 不能接受 void 类型的参数,因此会报错。

解决方法

要解决这个问题,你需要确保传递给 System.out.println 的参数不是 void 类型。可以通过以下几种方式来解决:

  1. 直接调用方法并输出其结果: 如果 printVoid 方法内部有需要输出的内容,可以直接在方法内部使用 System.out.println 输出,而不是返回 void
  2. 直接调用方法并输出其结果: 如果 printVoid 方法内部有需要输出的内容,可以直接在方法内部使用 System.out.println 输出,而不是返回 void
  3. 修改方法返回值: 如果需要将方法的执行结果输出到控制台,可以将方法的返回值改为适当的类型(如 String),然后在 System.out.println 中调用该方法。
  4. 修改方法返回值: 如果需要将方法的执行结果输出到控制台,可以将方法的返回值改为适当的类型(如 String),然后在 System.out.println 中调用该方法。
  5. 使用条件判断: 如果方法的返回值可能是 void,可以在调用前进行条件判断,确保传递给 System.out.println 的参数不是 void
  6. 使用条件判断: 如果方法的返回值可能是 void,可以在调用前进行条件判断,确保传递给 System.out.println 的参数不是 void

总结

  • 基础概念System.out.println 方法用于在控制台输出信息,接受多种类型的参数,但不接受 void 类型。
  • 错误原因:传递了一个返回值为 void 的方法调用作为参数。
  • 解决方法:确保传递给 System.out.println 的参数不是 void 类型,可以通过直接调用方法、修改方法返回值或使用条件判断来解决。

通过这些方法,你可以避免 Cannot resolve method 'println(void)' 错误,并正确地在控制台输出信息。

相关搜索:在Typescript中定义为箭头函数的方法上调用super.method()时出错"Cannot read properties of null (reading 'appendChild')“错误在gatsby中仅在站点刷新时显示在实例方法中调用实例变量时出现属性错误在ViewModel中使用viewModelScope.launch调用挂起的方法时出现"No virtual method getTag(Ljava/lang/String;)“错误在Bean类方法中调用泛型类时出现错误在查询浏览器中调用mysql存储过程时显示错误为ManyToMany字段定义在CreateView中自动保存的方法时,显示错误在WebdriverIO中从基本页面对象页面调用方法时出现“不是函数”错误try of my code在方法本身运行时有效,但当我在测试程序时调用该方法时...将显示捕获错误TypeError:不是[null]中的函数在调用angular2中的服务方法时在组件中获取此错误在Keras中创建VAE时出现调用方法未实现运行时错误。模型子类化500在C#中调用web服务器方法时ajax中的内部服务器错误在Android Studio中调用空对象引用的虚拟方法'RecyclerView.setAdapter(RecyclerView$Adapter)‘时遇到错误在登录组件中订阅时,登录方法引发错误。声明的类型既不是'void‘也不是'any’的函数必须返回值错误:使用C++时,没有用于调用的匹配函数。尽管在head文件中包含了相关方法在angularjs的onInit()方法中获取用户详细信息后,尝试显示用户详细信息时出现错误在上下文中调用MediaQuery.of()时,即使在应用程序中未使用MediaQuery,也不会显示MediaQuery错误在python中调用另一个函数变量中的其他函数时出现名称错误,该变量已在被调用的函数中定义,但显示为未定义Flutter SQLite数据库,在尝试将数据库中的所有行显示为列表视图时,调用了getter 'length‘on null错误
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 10个常见的 Java 错误及避免方法之第一集(后续持续发布)

    “Unclosed String Literal” 如果字符串文字结束时没有引号的话,会创建“Unclosed String Literal”的错误消息,并且消息将显示在与错误相同的行上。...“Invalid Method Declaration; Return Type Required” 此Java软件错误消息表示方法签名中未明确声明方法的返回类型。...检查方法声明并仔细调用,以确保它们是兼容的。 查看此讨论,里面说明了Java软件错误消息如何识别在方法声明和方法调用中由参数创建的不兼容性。(@StackOverflow) 9....每个返回值(非void类型)的方法都必须有一个字面上返回该值的语句,以便在方法之外调用它。...; } } 编译器抛出“Missing Return Statement”消息的原因有若干: 返回语句由于错误被省略。 该方法没有返回任何值,但类型void在方法签名中未声明。

    2.9K30

    使用JSONObject.getString()时报错:Cannot resolve method ‘getString‘ in ‘JSONObject‘,详解JSONObject三种库的用法

    resolve method 'getString' in 'JSONObject',JSONObject三种库的用法 一、背景描述 前几天我在修改后端的JSON数据处理的时候,用了一个很常见的语法...: 即:JSONObject.getString(xxx) JSONObject.getString(xxx) 是一个方法调用,它属于 org.json 包中的 JSONObject...但是它却报错了: Cannot resolve method 'getString' in 'JSONObject'。...不明白控制数据类型为什么要控制对象属性的读取方法,有知道的大佬可以在评论区说一下,后端开发不是我的专长,我就不自作聪明了。...如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

    7900

    如何理解Java中的隐藏与覆盖

    意味着:如果父类的方法抛出了异常,子类重写该方法时没有抛出异常是合法的;但是如果父类中的方法没有抛出异常,而子类重写该方法时抛出了异常,那么就会编译错误; 另外,如果子类在重写父类的方法的时候抛出的异常与父类方法中抛出的异常不一样...,那么也是会编译错误的,如父类方法中抛出的是InterruptedException,而子类重写该方法时抛出的是Exception,那么也会编译错误。...所谓隐藏,是指运行时系统调用当前对象引用的编译时类型中定义的方法;对于覆盖,则指运行时系统调用当前对象引用运行时类型中定义的方法。    ...意味着:如果父类的方法抛出了异常,子类重写该方法时没有抛出异常是合法的;但是如果父类中的方法没有抛出异常,而子类重写该方法时抛出了异常,那么就会编译错误; 另外,如果子类在重写父类的方法的时候抛出的异常与父类方法中抛出的异常不一样...,那么也是会编译错误的,如父类方法中抛出的是InterruptedException,而子类重写该方法时抛出的是Exception,那么也会编译错误。

    3.2K10

    Java静态方法中引用非静态方法、变量报错处理:Non-static method ‘xxx()‘ cannot be referenced from a static context

    在 Java 中,静态方法是与类关联的方法,可以直接通过类名调用,而不需要创建类的实例对象。而非静态方法是与实例对象关联的方法,需要通过实例对象来调用。...【情况一】:在静态方法中引用了一个非静态方法 报错: Non-static method 'xxx()' cannot be referenced from a static context 形如:...void staticMethod() { // 在静态方法中引用非静态方法,会导致错误 nonStaticMethod(); // 错误:Non-static method...void staticMethod() { // 在静态方法中引用实例变量,会导致错误 System.out.println(instanceVariable); //...注意,在静态方法内部创建的实例对象只在该方法内部可见,无法在静态方法之外的其他方法中访问。每次调用静态方法时都会创建一个新的实例对象。

    3.8K10

    10个常见的 Java 错误及避免方法之第二集(后续持续发布)

    “Cannot Return a Value From Method Whose Result Type Is Void” 当一个void方法尝试返回值时,就会发生此Java错误,例如在以下示例中: public...static void move(){ System.out.println("What do you want to do?")...在静态方法中写代码创建非静态对象的实例。 阅读此介绍静态和非静态变量之间区别的教程。(@sitesbay) ? 19....“Non-Static Method … Cannot Be Referenced From a Static Context” 此问题发生在Java代码尝试在非静态类中调用非静态方法的情况下。...problem: Cannot make a static reference to the non-static method getAge() from the type Sample 从静态方法中调用非静态方法就是声明调用非静态方法的类的实例

    2.3K30

    详解:Java的重写方法与示例

    方法覆盖和动态方法调度 方法覆盖是运行时多态性的一个示例。当父类引用指向子类对象时,则在运行时确定对重写方法的调用,因为在方法调用期间要执行的方法(父类或子类)由对象的类型确定。...disp(){ System.out.println("disp() method of Child class"); } public void newMethod(){ System.out.println...注意:在动态方法分派中,对象可以调用子类的重写方法和基类的所有非重写方法,但不能调用在子类中新声明的方法。在上述示例中,对象obj2正在调用disp()。...但是,如果尝试newMethod()使用obj2 调用该方法(已在Demo类中新声明),则会出现编译错误并显示以下消息: Exception in thread "main" java.lang.Error...让我们看看在方法重写中使用super的方法。 众所周知,我们在子类中重写了一个方法,然后使用子类对象调用该方法将调用重写的方法。

    66440

    Java基础(十):关键字static、代码块、关键字final

    在类中声明的实例方法 在类的外面必须要先创建对象,才能调用 但是有些方法的调用者和当前类的对象无关,这样的方法通常被声明为类方法 由于不需要创建对象就可以调用类方法,从而简化了方法的调用 static...如果有重名问题,使用“类名.”进行区别 二、理解main方法的语法 由于JVM需要调用类的main()方法,所以该方法的访问权限必须是public 又因为JVM在执行main()方法时不必创建对象,所以该方法必须是...,隐藏的super()方法找父类 代码块在构造器之前执行 显示赋值和代码块中赋值顺序,由先后顺序决定 举例1 class Root{ static{ System.out.println("...} 2、final修饰方法 表示这个方法不能被子类重写 例如:Object类中的getClass() class Father{ public final void method(){ System.out.println...("father"); } } class Son extends Father{ public void method(){//错误 System.out.println("son"); }

    12410

    前端的设计模式系列-模版模式

    场景 (示例代码来源于极客时间课程,React Hooks 核心原理与实战) 平常开发中一定遇到过这样的场景:发起异步请求,loading 状态显示,获取数据并显示在界面上,如果遇到错误还会显示错误状态的相关展示...(); public abstract void cooking(); public void prepare() { System.out.println("准备干净锅...void prepareIngredients() { System.out.println("切土豆片、腌肉"); } @Override public...void cooking() { System.out.println("热油,炒土豆片,出锅"); System.out.println("加油,蒜姜辣椒爆香,炒肉...js 的模版模式 模板模式是一个方法中定义一个算法骨架,可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。

    49720

    设计模式-责任链模式

    因此在抽象处理者中定义了一个抽象处理者类型的对象,作为其对下家的引用。通过该引用,处理者可以连成一条链。...ConcreteHandler(具体处理者):它是抽象处理者的子类,可以处理用户请求,在具体处理者类中实现了抽象处理者中定义的抽象请求处理方法,在处理请求之前需要进行判断,看是否有相应的处理权限,如果可以处理请求就处理它...,否则将请求转发给后继者;在具体处理者中可以访问链中下一个对象,以便请求的转发。...fail(NumberData numberData) { System.out.println(numberData + " cannot be resolved."); }...,系统性能将受到一定影响,且不方便调试 可能因为职责链创建不当,造成循环调用,导致系统陷入死循环 使用场景 Netty 中的 Pipeline 和 ChannelHandler 通过责任链设计模式来组织代码逻辑

    53010

    JVM学习-类加载

    ,作用是吧klass暴露给java使用 _super即父类 _field即成员变量 _method即方法 constants即常量池 _class_loader即类加载器 vtable虚方法表 _itable...接口方法表 如果这个类还有父类没有加载,先加载父类 加载和链接可能是交替运行的 注意 instabceKlass这样的【元数据】是存储在方法区(1.8后的元空间内),但_java_mirror是存储在堆中...,那么编译阶段值就确定了,赋值在准备阶段完成 如果static变量是final的,但属于引用类型,那么赋值也会在初始化阶段完成 解析:将常量池中的符号引用解析为直接引用 初始化 ()V方法 初始化即调用...Class.forName的参数2为false时 public class Load3 { static { System.out.println("main init");...$ExtClassLoader@135fbaa4 } } 双亲委派模式 所谓的双亲委派,就是指调用类加载器的loadClass方法时,查找类的规则 ClassLoader.loadClass()

    26910

    Java - 泛型

    return t; } } 泛型是在类实例化或者方法调用时才明确类型的: ● 对于泛型类的泛型参数,需要在类实例化时才能明确类型; ● 对于泛型方法的泛型参数,需要在方法调用时才能明确类型。...为了解决这个泛型擦除在继承关系中带来的多态冲突,编译器在生成泛型类子类的字节码时会生成桥方法(Bridge Method),用以桥接原来的方法。...System.out.println("ParameterizedType: " + type.getTypeName()); System.out.println("RawType...● 用于确保泛型参数的一致性,比如一个方法的参数是多个泛型T,那么调用方法传参时都必须是相同的类型;但如果一个方法的参数是多个泛型通配符?,则调用时传参不需要保持相同的类型,因为?...但是,对于泛型方法,则可以被定义为静态的。原因是泛型方法在方法调用时明确类型,与类实例化无关,所以允许定义为静态的。

    57520

    Java高并发编程基础之Thread构造函数大有内涵

    Thread类的无参构造函数可以创建一个新的线程对象,然后通过调用start()方法来启动线程的执行。 Thread类提供了其他一些常用的构造函数。...尤其在一个线程比较多的程序中,为线程赋予一个包含特殊意义的名字有助于问题的排查和线程的跟踪,强烈推荐在构造线程的时候赋予它一个名字。...SecurityConstants.SUBCLASS_IMPLEMENTATION_PERMISSION); } } g.addUnstarted(); this.group = g; 通过对源码分析,在创建线程时没有显示给出...()); } } private void recurse(int i) { System.out.println...这对于执行后台任务或提供服务的线程非常有用,因为它们可以在不再需要时自动关闭。 要将线程设置为守护线程,可以使用setDaemon(true)方法。这应该在启动线程之前调用。

    14910
    领券