Java-错误:找不到适合添加的方法(int,Java.lang.String) 我正忙着做作业,我陷入了困境。此时,在我的代码中,我认为应该有一个gui窗口打开,允许我键入“插入文本编号”。在这一点上,信息不会去任何地方,但一旦我解决了这个问题,它将进入linkedlist。对于tt.add(index,element)行,我得到了两个相同的错误;我似乎无法克服它。错误是“找不到适合添加的方法(int,java.lang.String)”。代码如下,请告知。澄清-这不应该是一个方法错误,因为这是一个链表。不应涉及任何方法 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.util.Scanner; import java.util.LinkedList; public class TopTenList extends JFrame { private TopTenList tt; private JTextArea listView; private JTextField cmdTextField; private JTextField resultTextField; // This is the code for the GUI Window public TopTenList() { tt = new TopTenList(); listView = new JTextArea(); cmdTextField = new JTextField(); //Create panel and label for the command text field JPanel cmdPanel = new JPanel(new GridLayout(1,2)); cmdPanel.add(new JLabel ("Enter New Score: ")); cmdPanel.add(cmdTextField); add(cmdPanel, BorderLayout.NORTH); cmdTextField.addActionListener(new CmdTextListener()); // Set up the frame setTitle("Top Ten Scoreholders"); // Window Title setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Behavior on close pack(); setVisible(true); // Display the window // Put the textArea in the center of the frame add(listView); listView.setEditable(false); listView.setBackground(Color.WHITE); } // Private class that responds to the new score entered by the user private class CmdTextListener implements ActionListener { public void actionPerformed(ActionEvent evt) { String cmdText = cmdTextField.getText(); Scanner sc = new Scanner(cmdText); String cmd = sc.next(); if (cmd.equals("insert")) { if(sc.hasNextInt()) { // add index element int index=sc.nextInt(); String element = sc.next(); tt.add(index, element); } else { // add element String element = sc.next(); tt.add(element); } listView.setText(tt.toString()); pack(); return; } } } // The main method to run the top ten list public static void main(String [ ] args) { new TopTenList(); } }

Java-错误:找不到适合添加的方法(int,Java.lang.String) 我正忙着做作业,我陷入了困境。此时,在我的代码中,我认为应该有一个gui窗口打开,允许我键入“插入文本编号”。在这一点上,信息不会去任何地方,但一旦我解决了这个问题,它将进入linkedlist。对于tt.add(index,element)行,我得到了两个相同的错误;我似乎无法克服它。错误是“找不到适合添加的方法(int,java.lang.String)”。代码如下,请告知。澄清-这不应该是一个方法错误,因为这是一个链表。不应涉及任何方法 import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.util.Scanner; import java.util.LinkedList; public class TopTenList extends JFrame { private TopTenList tt; private JTextArea listView; private JTextField cmdTextField; private JTextField resultTextField; // This is the code for the GUI Window public TopTenList() { tt = new TopTenList(); listView = new JTextArea(); cmdTextField = new JTextField(); //Create panel and label for the command text field JPanel cmdPanel = new JPanel(new GridLayout(1,2)); cmdPanel.add(new JLabel ("Enter New Score: ")); cmdPanel.add(cmdTextField); add(cmdPanel, BorderLayout.NORTH); cmdTextField.addActionListener(new CmdTextListener()); // Set up the frame setTitle("Top Ten Scoreholders"); // Window Title setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Behavior on close pack(); setVisible(true); // Display the window // Put the textArea in the center of the frame add(listView); listView.setEditable(false); listView.setBackground(Color.WHITE); } // Private class that responds to the new score entered by the user private class CmdTextListener implements ActionListener { public void actionPerformed(ActionEvent evt) { String cmdText = cmdTextField.getText(); Scanner sc = new Scanner(cmdText); String cmd = sc.next(); if (cmd.equals("insert")) { if(sc.hasNextInt()) { // add index element int index=sc.nextInt(); String element = sc.next(); tt.add(index, element); } else { // add element String element = sc.next(); tt.add(element); } listView.setText(tt.toString()); pack(); return; } } } // The main method to run the top ten list public static void main(String [ ] args) { new TopTenList(); } },java,add,Java,Add,您从未在任何一个类中创建过add(inti,objecto)方法。您将tt视为一个列表,但实际上并非如此,因此您需要创建该方法或尝试实现List类。TopTenList继承自JFrame,间接继承自java.awt.Container和java.awt.Component的各种add()方法不提供添加字符串对象的功能,只有其他组件对象 我想也许你想要一个带有javax.swing.DefaultListModel的javax.swing.JList,因为DefaultListModel.add(

您从未在任何一个类中创建过
add(inti,objecto)
方法。您将
tt
视为一个列表,但实际上并非如此,因此您需要创建该方法或尝试实现List类。

TopTenList继承自JFrame,间接继承自java.awt.Container和java.awt.Component的各种add()方法不提供添加字符串对象的功能,只有其他组件对象


我想也许你想要一个带有javax.swing.DefaultListModel的javax.swing.JList,因为DefaultListModel.add()方法会获取你想要的参数。

错误会确切地告诉你问题所在。你的
TopTenList
类或它继承的
JFrame
都没有
add()
接受这些参数的方法,以便。。。是的,那将是正确的错误。还不清楚您希望它能做什么。您是否试图在窗口中显示一些文本?最终将在窗口中显示的文本将是一个包含10项的列表,一行写着“输入新分数:”,以及一个用于输入命令(立即插入)、文本和分数的文本框。就我个人而言,我更愿意将它们分成单独的文本框进行错误检查,但这不是任务。问题说明“澄清-这不应该是方法错误,因为这是一个链接列表。不应该涉及任何方法。”代码中没有链接列表。有一个java.util.LinkedList的导入,但我没有看到所有的都被使用。我以为我在实现List类,这就是为什么方法错误让我抓狂的原因。我如何实现该列表?我想我是用私人TopTenList tt做的;