java里显示找不到符号?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里显示找不到符号?相关的知识,希望对你有一定的参考价值。

/*获取程序运行时间就是结束时间减去开始时间
*/class GetTime public void geiTime() long start=System.currentTimeMillis(); for (int x=0;x<2000 ;x++ ) System.out.print(x); long end=System.currentTimeMillis();
System.out.println("毫秒="+(end-start));
class TempLateDemo
public static void main(String[] args) GetTime gt = new GetTime(); gt.getTime();
TempLateDemo.java:28 错误找不到符号
gt.getTime();
符号:方法getTime()
位置:类型为GetTime的变量 gt

参考技术A 应该是中文或者全角标点符号引起的,不建议用javac手动编译可以使用eclipse等开发工具编译可以很好的处理中文编译的问题 参考技术B 你马虎了,在GetTime类里定义的方法为geiTime(),你在main方法中调用的是getTime()。当然找不到了。本回答被提问者采纳 参考技术C public void geiTime()

方法定义的是geiTime 调用的是getTime

Java - 找不到符号构造函数

【中文标题】Java - 找不到符号构造函数【英文标题】:Java - Cannot find symbol constructor 【发布时间】:2013-01-16 03:13:18 【问题描述】:

我对 Java 完全陌生,所以如果我的问题很愚蠢,我很抱歉。我正在做这个任务,我已经阅读了几个小时的主要方法,但我就是想不通。我把我的一些代码放在下面。我可能离这里很远,但我希望完成的是让 main 方法启动构造函数,但是当我编译时,我得到一个错误,说“找不到符号 - 构造函数 Player”。现在,我猜这与构造函数的字符串参数有关,但我全力以赴。如果有人能阐明这个可能非常简单的问题,我会很高兴:)

public class Player 
private String nick;
private String type;
private int health;


public static void main(String[] args)

    Player player = new Player();
    player.print();



public Player(String nickName, String playerType) 


    nick = nickName;
    type = playerType;
    health = 100;
    System.out.println("Welcome " + nick +" the " + type + ". I hope you are ready for an adventure!");


   public void print()

    System.out.println("Name: " + nick);
    System.out.println("Class: " + type);
    System.out.println("Remanining Health: " + health);

【问题讨论】:

您正在尝试创建Player,但您没有传入nickNameplayerType 【参考方案1】:

当您的类显式定义constructor 时,不会创建隐式无参数构造函数。

你的类中有显式构造函数

public Player(String nickName, String playerType) 


    nick = nickName;
    type = playerType;
    health = 100;
    System.out.println("Welcome " + nick +" the " + type + ". I hope you are ready for an adventure!");

并试图调用无参数构造函数

 Player player = new Player();

您需要在上述代码中传递参数(或)创建无参数构造函数。

【讨论】:

【参考方案2】:

显然你正在使用0-arg constructor,但你还没有:-

Player player = new Player();

请注意,当您在类中提供参数化构造函数时,编译器不会添加默认构造函数。如果您正在使用它,则必须手动添加一个 0-arg 构造函数。

因此,您可以像这样添加一个0-arg constructor:-

public Player() 
    this.nick = "";
    this.type = "";
    this.health = -1;

或者,使用参数化构造函数来创建对象。

【讨论】:

如何使用参数化构造函数来创建对象?这就是我希望做的。我想要做的是让程序启动,然后提示用户输入名称和昵称字符串,在将它们输入字符串之前没有任何 playerType 和 nickName 值。再说一次,我对此是 100% 的绿色,所以如果没有任何意义,请告诉我 :) @JarandBoge.. 然后首先从用户那里读取值。将其存储在某个变量中。然后使用参数化构造函数,将这些变量作为参数传递。那不会那么困难。这只是您将字符串文字作为参数传递的方式。【参考方案3】:

Player 没有无参数构造函数,你可以使用:

Player player = new Player("My Nickname", "Player Type");

如果您希望提示用户输入 Player 参数,您可以这样阅读:

Scanner scanner = new Scanner(System.in);
System.out.print("Enter Player Name:");
String nickName = scanner.nextLine();
System.out.print("Enter Player Type:");
String playerType = scanner.nextLine();
Player player = new Player(nickName, playerType);

【讨论】:

我要做的是让程序启动,然后提示用户输入姓名和昵称字符串。这不只是将玩家和类命名为“我的昵称”和“玩家类型”吗? 找不到符号 - 类扫描仪。我做错了吗? 你需要import java.util.Scanner;【参考方案4】:

当缺少构造函数时,java会创建一个默认构造函数,这个构造函数只是调用超类。当您定义一个显式构造函数时,java 不会创建一个。因此,您可以在类中定义一个默认构造函数 例如

public Player() 
   nick = "abc";
    type = "type";
    health = 100;
    System.out.println("Welcome " + nick +" the " + type + ". I hope you are ready for an adventure!");

或者修改代码调用你定义的构造函数。

 Player player = new Player("nick","type");

【讨论】:

【参考方案5】:

您在main()-方法中尝试做的是创建一个新的 Player 对象。但问题是你必须使用你实现的构造函数(Player(String, String)),但你使用的构造函数没有任何参数(Player())。

你应该使用空字符串(例如,如果你想得到一个玩家假人)

Player player = new Player("","");

或者你应该给新玩家实例指定你想要的名称和类型,例如

Player player = new Player("flashdrive2049","Player");

问候。

【讨论】:

以上是关于java里显示找不到符号?的主要内容,如果未能解决你的问题,请参考以下文章

java 枚举 找不到符号

java 中 “找不到符号”的错误

java中提示找不到符号

java集合的一个程序,总是提示找不到符号,找不到原因在哪?求大神帮助!

java编译 为啥显示找不到文件

Java(Android)中的新功能。为啥 ANT DEBUG 显示错误“找不到符号”?