java - 程序输出问题

标签 java

对于冗长的提交,我深表歉意,但我在让该程序正常运行方面遇到了一些困难。

还有另一个驱动程序运行这个程序,它要求我打印出魔术师的姓名、级别、用品等(给定某些参数)。

但是,当我使用 toString() 方法打印出字符串时。我不断地得到 我的名字/级别/用品的“空”响应。我的号码似乎也没有更新。

有人可以看一下我做错了什么吗?

我似乎无法让程序获取 Magician 参数。

public class Magician
{
    private String name, level, supplies;  
    private int galleons;   
    private double health;

    public Magician(String initialValues)
    {   
        double health = 1000;
        int galleons = 200;
        initialValues = name + "#" + level + "#" + supplies;
    }

    public String toString()
    {
        return "Name: " + name+
        "Level: " + level +
        "Galleons: " + galleons +
        "Health: " + health +
        "Supplies: " +supplies; 
    }
}  

这是驱动程序的开头,我无法打印出来:

public class MagicAndMalice
{
    public static void main (String[] args) 
    {
        Magician harry = new Magician("Harry Potter#apprentice#Owl#Wand");
        System.out.println(harry);  // test toString() method
        System.out.println("------------------------\n\n");
    }
}

最佳答案

首先,您再次声明生命值加隆。您不应该再次声明它们,只需分配值即可:

health = 1000;
galleons = 200;

此外,您似乎对作业感到困惑。如果您想为namelevelsupplies分配一些值,您必须这样做:

name = ...;
level = ...;
supplies = ...;

如果 initialValues 将包含类似 "a#b#c" 的字符串,并且您想要将每个“部分”分配给这些变量,则可以使用 String#split():

String[] parts = initialValues.split("#");

name = parts[0];
level = parts[1];
supplies = parts[2];

但是我真的建议您阅读一本书或学习一些 Java 教程,以便您首先了解基础知识。

关于java - 程序输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22427757/

相关文章:

java - JDBC 远程 MySQL 连接

java - 在单独的目录中执行Java中的.exe文件

java - 其中一个类(class)没有编译,想要一些关于如何让它工作的指导

java - 使用 Cassandra 的 Datastax 实体映射器时如何使用继承?

java - 在 Android 中使用静态变量

java - 如果类/接口(interface)具有 val 属性或具有泛型类型的函数,为什么类/接口(interface)不能以 out 作为前缀?

java - 我需要创建 XML-PRC 兼容的 Web 服务

java - 在我的例子中,启动服务(按类)返回 null

c# - 是什么使模板与通用模板不同?

java - GPS 坐标解析和渲染 - Java 库?