几天前我接受了采访,并抛出了这样的问题.
问:反转链表.以下代码给出:
public class ReverseList {
interface NodeList {
int getItem();
NodeList nextNode();
}
void reverse(NodeList node) {
}
public static void main(String[] args) {
}
}
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我不知道接口对象可以用作方法参数.面试官解释了一下,但我仍然不确定.有人可以开导我吗?
JRE版本1.7更新3
预期的行为
当我运行该程序时,它按预期工作,一切顺利.当我点击STOP JButton动画停止并且同一文本JButton改变为START.现在当我点击时BALL COLOUR JButton,BALL变化的颜色以及变化的颜色BALL COLOUR JBUTTON也会变化BALL.如果我按原样运行我的应用程序而不调整大小,则整个行为都有效.
意外行为
但当RESIZE我JFrame通过拉动时Right Side,那就是当我的应用程序的意外行为被显示时,在某种意义上说,如果我按下STOP JButton然后单击BALL COLOUR按钮,JButton之前单击的文本更改为的文本START将STOP在不应该更改时再次更改为当它应该改变为球的颜色时,以及BALL COLOUR JButton将保持不变或将转向BLUE的颜色.我附上照片了解更多信息.但是如果你试图将它重新调整到原来的大小或更接近它,那么事情就会恢复正常.为什么会这样?任何想法或线索将非常感激.
正如我的应用程序运行如上所述的预期行为:

这里是意想不到的行为

底线:
为什么应用程序像往常一样运行BEGINNING,而不是RESIZED通过拖动它RIGHT SIDE,但是如果你把它带到它的原始大小或更接近它,事情恢复正常,它按预期工作?
所以考虑到这个场景,我在程序中做错了什么.或者这正是我应该使用的情况SwingWorker,或者这是一个问题Layout,或隐藏的相关内容Content Pane.请放轻装:-)
这是我正在使用的代码,我把它降到最低限度,因为我想要证明我的问题:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行按位数比较,并且我的代码在我的代码的第30行上使用"if"语句不断出现非法表达式.
我的代码如下:
public class Project7 {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
double P = keyboard.nextDouble();
double Q = keyboard.nextDouble();
double R = keyboard.nextDouble();
double S = keyboard.nextDouble();
boolean First_Relation;
boolean Second_Relation;
if (P > Q) First_Relation = true;
if (R < S) Second_Relation = true;
if (First_Relation = true) & (Second_Relation = true);
System.out.println("Given the values for p,q,r, and s the expression "
+ "(p > q) && !(r < s) evaluates to " …Run Code Online (Sandbox Code Playgroud) 当我从eclipse将我的代码导出为runnable JAR时,即使它们实际上在JAR中,我设置它的所有文件都会丢失,例如按钮图像和其他文件.我已经getClass().getResource在文件前添加了但是当我尝试运行JAR时甚至没有任何建议,有什么建议吗?
我有两个键盘连接到一台计算机(均使用USB线).
我希望两个用户使用一台带有两个Keyboard的计算机,一个只用于我的应用程序,一个特定的键盘和另一个用户,可以在使用其他软件时使用另一个键盘.键盘端口永远不会改变 这可能是朋友吗?我该怎么办?
我想在mt JFrame框架中添加一个mouselistener,但是当我执行frame.addMouseListener(this)时,我得到一个错误,我无法在静态方法中使用它
我正在创建一个应用程序来检测鼠标点击,然后在int点击中显示它
码
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class numberOfClicks implements MouseListener{
static int clicks = 0;
@Override
public void mouseClicked(MouseEvent e) {
clicks++;
}
static JTextField text = new JTextField();
static String string = clicks+" Clicks";
static JFrame frame = new JFrame("Click Counter");
public static void frame(){
Font f = new Font("Engravers MT", Font.BOLD, 23);
text.setEditable(false);
text.setBackground(Color.BLUE);
text.setFont(f);
text.setForeground(Color.GREEN);
text.setBorder(BorderFactory.createLineBorder(Color.BLUE));
text.setText(string);
frame.add(text, BorderLayout.SOUTH);
frame.setResizable(false); …Run Code Online (Sandbox Code Playgroud) 我JPasswordField在我的程序中使用了一个.当我问getPassword(),我得到一个char[]数组.但是,当我添加ActionListener的JPasswordField,问getActionCommand(),我得到的密码作为String.此密码是否在事件对象中保存为String?这不是一个安全问题吗?
我assign_backgrounds()在for循环中延迟方法时遇到问题.我正在尝试创建一个西蒙说的游戏,但不是延迟并显示"西蒙"按下的下一个按钮,它会立即显示所有按钮.这里的任何帮助将不胜感激.谢谢.
boolean simonsTurn = true;
int x = 4;
int s;
int delay = 1000;
int array_values[] = new int[]{1,2,3,4};
public void simonSays() {
// running = true;
if (simonsTurn == true) {
go();
for (int i = 0; i < x; i++) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
go();
}
}, 1000);
}
}
}
public void go(){
s = random_int_between(0,3);
assign_backgrounds(array_values[s]);
}
public void assign_backgrounds( …Run Code Online (Sandbox Code Playgroud) "当JDialog(或JFrame)可见时,默认情况下焦点放在第一个可聚焦组件上."
让我们考虑一下这样的代码:
public class MyDialog extends JDialog{
// Dialog's components:
private JLabel dialogLabel1 = new JLabel("Hello");
private JLabel dialogLabel2 = new JLabel("Message");
private JButton dialogBtn = new JButton("Sample Btn text");
public MyDialog(JFrame parent, String title, ModalityType modality){
super(parent, title, modality);
dialogBtn.setName("Button"); //
dialogLabel1.setName("Label1"); // - setting names
dialogLabel2.setName("Label2"); //
setTitle(title);
setModalityType(modality);
setSize(300, 100);
setLocation(200, 200);
// adding comps to contentPane
getContentPane().add(dialogLabel1, BorderLayout.PAGE_START);
getContentPane().add(dialogBtn, BorderLayout.CENTER);
getContentPane().add(dialogLabel2, BorderLayout.PAGE_END);
pack();
}
public void showDialog(){
setVisible(true);
listComps(rootPane.getComponents());
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
} …Run Code Online (Sandbox Code Playgroud) 我正在学习创建自定义类,无法弄清楚我出错的地方
从主班......
MyPoint p1 = new MyPoint(317, 10);
错误说:
constructor MyPoint in class MyPoint cannot be applied to given types;
required: no arguments
found: int, int
reason: actual and formal argument lists differ in length
Run Code Online (Sandbox Code Playgroud)
这是来自我的MyPoint类:
private int x, y;
public void MyPoint(int x, int y)
{
this.x = x;
this.y = y;
}
Run Code Online (Sandbox Code Playgroud)
为什么MyPoint(317,10)不与x和y值一起被送入相关类?
任何帮助将不胜感激,谢谢.