所以我刚刚在网上找到了这个代码示例,我再次讨论它但很困惑.
通过查看它,我收集的内容(可能是错误的)是它将NumberPrinter类中的print方法传递给Printer对象.但是,该接口也称为Printer,因此我们不是要实例化Printer接口的匿名类,定义方法然后传递它吗?
我的基本问题是,我最初的假设是否正确?如果是这样我认为你无法实例化一个界面?
public class NumberPrinter {
public interface Printer {
public void print (int idx);
}
public static void print (Printer p) {
for (int i = 0; i < 4; i++) {
p.print(i);
}
}
public static void main(String[] args) {
print(new Printer() {
@Override
public void print(int idx) {
System.out.println(idx);
}
});
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个名为account的ArrayList,其中包含字符串.我正在尝试编写一种方法来检查它们是否有序并根据它们是否有序而返回true或false.
你会怎么做?我已经尝试用for-loop检查初始字符但是它非常错误.我创建了一个新的ArrayList并将其设置为等于原始的,然后对它进行排序并进行比较,但由于它们包含相同的数据,因此它总是回归真实.
只是一个额外的快速问题,因为我正在为字符串执行此操作,您如何检查某些数字是否按升序/降序排列?是同一个校长吗?
谢谢!
我有一个JTextArea,其文本设置为一串信息.在这个信息字符串中,我有一个我想要变成红色的变量,为此,我按如下方式编辑字符串:
"Result: <html><font color=red>" + negativeValue + "</font></html>"
Run Code Online (Sandbox Code Playgroud)
我希望这会给结果:##其中数字为红色.但是它只是将以下内容放入文本区域:
Result: <html><font color=red>##</font></html>
Run Code Online (Sandbox Code Playgroud)
我不确定如何使这个工作,所以有人可以提供如何这样做的建议吗?
我刚刚进行了实验,发现当我运行滚动代码时,它无法编译,我无法弄清楚原因.
我的IDE说"不能对非静态字段列表进行静态引用",但我真的不明白这是什么或为什么.它还适用于什么,即:它只是私有变量和/或方法,为什么?:
public class MyList {
private List list;
public static void main (String[] args) {
list = new LinkedList();
list.add("One");
list.add("Two");
System.out.println(list);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我将其更改为以下内容时,它可以正常工作:
public class MyList {
private List list;
public static void main (String[] args) {
new MyList().exct();
}
public void exct() {
list = new LinkedList();
list.add("One");
list.add("Two");
System.out.println(list);
}
}
Run Code Online (Sandbox Code Playgroud) 我试图用Java编写递归的Ackermann函数.但我觉得我在某个地方出错了!任何人都可以看看,检查并指出我正确的方向纠正我的代码?谢谢!

我对代码的问题是,在我写完之后,我想,如果n == 0和m == 0,那么这个区域没有?这会属于if(m == 0)还是需要它自己的if语句?
我的以下解决方案是否正确 如果我以不同的顺序给它相同的数字,它给出了不同的结果,我不确定这是否是这种情况.
public static int ackermann(int m, int n) {
if (m == 0) {
return n + 1;
} else if ((m > 0) && (n == 0)) {
return ackermann(m-1, n);
} else if ((m > 0) && (n > 0)) {
return ackermann(m-1, ackermann(m,n-1));
} else {
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我想了一下,我想我错了.如果你无法弄清楚我做了什么我给了每个if语句相反,因为我认为如果以不同的方式给出m和n值,则下面的代码将起作用.它显然没有,但有人可以尝试解释我哪里出错了?
public static int ackermann(int m, int n) {
if (m == 0) {
return n + 1; …Run Code Online (Sandbox Code Playgroud) 所以我偶然发现了几种实现ActionListener的方法,我想知道是否有人可以告诉我每种方法的不同之处以及是否有理由或优势来使用它?
第一个是在一段代码中:
public void actionPerformed(ActionEvent arg0) {
// CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
我看到的第二种方式是在另一个代码块中:
private class myListener implements ActionListener {
// CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
第三个是ActionListener的一个单独的类,它具有与上面类似的代码,但是在一个单独的类中.
我想知道方法方法是否更有效,因为不必为每个方法创建新对象,您只需引用thisActionListener而不是例如引用new myListener().谢谢.
如果我有两个非常不同的数据集和两种非常不同的分类技术,是否有一个很好的方法来组合这两个输出?我知道平均值可能有效,但有没有更相关的方法来做到这一点?我听说过一些概念,例如增强学习和集成学习,这些概念是否适用?
我已设法根据逗号分割CSV文件.我这样做是通过放置一个虚拟字符串,其中有一个','然后根据虚拟字符串进行拆分.
但是,CSV文件包含以下内容:
something, something, something
something, something, something
Run Code Online (Sandbox Code Playgroud)
因此,在有新行的情况下,每行的最后和第一个值将合并到它们自己的字符串中.我怎么解决这个问题?我已经尝试将我的虚拟字符串放在哪里\n被发现根据它分割它但没有成功.
救命?!
所以,我已经阅读了Java API,但似乎仍无法就如何做到这一点做出正面或反面.相信我,我已经尝试过了.我想要一个ActionListener来生成一个带有"你真的想要退出吗?"文本的消息框,其中选项是和否,退出程序或不退出,具体取决于所选按钮.
在我开始使用消息框打破它之前,这是ActionListener的内容:
exitItem.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
window.dispose();
}
}
);
Run Code Online (Sandbox Code Playgroud)
我怎样才能适当改变它以满足我的要求?
我正在JFileChooser上构建一个JFileFilter,但是在我有代码setFileFilter并且我的IDE提供信息时出现错误'JFileChooser类型中的方法setFileFilter(FileFilter)不适用于参数(new FileFilter(){}) ".不过我确信我之前已经用这种格式完成了它并且一切都很好.任何人都可以帮我找到并理解为什么这不起作用?谢谢!
JFileChooser chooser = new JFileChooser();
chooser.setDialogTitle("Open File");
chooser.setFileFilter(new FileFilter(){
@Override
public boolean accept(File f) {
String fName = f.getName().toUpperCase();
if (fName.endsWith(".TXT") || f.isDirectory()) {
return true;
} else {
return false;
}
}
public String getDescription() {
return "Text File (*.txt)";
}
});
Run Code Online (Sandbox Code Playgroud)