gpt4 book ai didi

java - 返回从一个类调用到另一个类的列表

转载 作者:行者123 更新时间:2023-12-02 00:26:59 24 4
gpt4 key购买 nike

我是java新手,希望得到一些关于以下方面的建议

我有两个文件:

SongsList.java 和 SongsMenu.java

SongsMenu.java (http://pastie.org/private/cm0zpembkqnfjif0pgdadq) 第 38/39 行

import java.util.Scanner;
import java.util.InputMismatchException;

public class SongsMenu {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

...

switch (listMenuItem) {
case 1:
System.out.println("Album");
SongsList sl = new SongsList();
System.out.println(sl);
break;

和SongsList.java (http://pastie.org/private/qljonhfdronvbq4ahcqgmq)

public class SongsList {

public static void main(String args[]) throws Exception {
// reads the file and returns a list of my Music.txt file
...

当我运行 SongsList 时,我得到:

 $java SongsList
Track 58 Reggae 1637918 81 58 59 18/02/2010 21:02 28/01/2012 14:07 160 44100 MPEG audio file khinester:Users:khinester:Music:iTunes:iTunes Music:Unknown Artist:Unknown Album:58 Track 58.mp3
Track 59 Reggae 4239191 211 59 59 18/02/2010 21:02 28/01/2012 14:07 160 44100 MPEG audio file khinester:Users:khinester:Music:iTunes:iTunes Music:Unknown Artist:Unknown Album:59 Track 59.mp3

...

但是当我运行 SongsMenu 时

$java SongsMenu
1) Album
...

1
Album
SongsList@50ef5502

我如何返回列表,而不是“SongsList@50ef5502”,我希望最终能够按照专辑、名称的顺序列出该列表并进行搜索。

非常感谢任何建议。

最佳答案

问题出在这一行

::line number 39 System.out.println(sl);

如果您尝试打印一个对象,它只会打印给定对象的哈希码。

更好地重写程序,如下进一步解释:

您可以将逻辑移至方法中并显式调用该方法(或将逻辑移至默认构造函数中),例如:

Songlist 类应该是这样的:

public class SongsList {
public SongsList(){
runMyCode();
}
public void runMyCode(){
// SongList logic here
}
}

并在歌曲菜单中调用歌曲列表,如下所示:

case 1:
System.out.println("Album");
SongsList sl = new SongsList();
s1.runMyCode();
// do something...
break;

希望这对您有帮助。最好学习一些 OOP 概念,伙计……对这样基本的 Java 代码有疑问是不好的。尝试从Head First java书籍学习java:Head First Java.pdf

学习它非常简单且有趣。

关于java - 返回从一个类调用到另一个类的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com