小编Won*_*rld的帖子

如何在Java中检测按键

我的儿子(11岁)正在学习Java,他将输入一个问题和一些代码.他告诉我他无法在网站上找到这个问题的答案.您将阅读我的问题的编辑版本.非常感谢.

如何在java中检测到按键,我的IDE被称为eclipse,我已经创建了一些类.我在互联网的keyconfigofplayer中找到了代码并将其更改为扩展播放器类.我想要它,所以当我按住一个矩形或椭圆形键移动屏幕时,我怎么能这样做?由于某种原因,它不会正确输入代码,这就是为什么我的导入没有星号,看起来很奇怪.对于那个很抱歉.请忽略它.我无法解决这个问题:(.这是我的代码:

窗口代码:

import javax.swing.*;
import java.awt.*;

public class window {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        f.setSize(600, 600);
        player p = new player();
        f.add(p);

        keyconfigofplayer key = new keyconfigofplayer();
        p.add(key);
        f.add(key);

    }
}
Run Code Online (Sandbox Code Playgroud)
//this class is the player graphic

import javax.swing.*;
import java.awt.*;

    public class player extends JPanel {

    int x = 50;
    int y = 50;

    public void paint() {//This is where the graphic …
Run Code Online (Sandbox Code Playgroud)

java eclipse swing keypress keylistener

9
推荐指数
2
解决办法
7万
查看次数

创建另一个Subclass java的构造函数

如果我有班车:

public class Car {

    int weight;
    Car(){}

    public Car(int weight) {
        this.weight = weight;
    }
}
Run Code Online (Sandbox Code Playgroud)

还有另一个继承自Car的轿车:

 public class Sedan extends Car { 

     public Sedan(int weight) {
         super(weight);
     }
 }
Run Code Online (Sandbox Code Playgroud)

和继承自汽车的第三级吉普车:

public class Jeep extends Car {

    public Jeep(int weight) {
        super(weight);
    }
} 
Run Code Online (Sandbox Code Playgroud)

我怎么能这样说,当我说 Car mercedes = new Car(5000);

构造函数创建一个new Jeep或一个new Sedan取决于给定的权重:if( weight>3000),创建一个吉普车mercedes=new Jeep(weight);,否则创建一个轿车mercedes=new Sedan(weight);

java inheritance constructor

1
推荐指数
1
解决办法
99
查看次数

使用带有下限通配符的增强型for循环

我有这个for循环:

for (int j = 0; j < list.size(); j++) {
    System.out.print(list.get(j) + " ");
}
Run Code Online (Sandbox Code Playgroud)

该方法的签名是:

public static void addNumbers(List<? super Number> anoList)
Run Code Online (Sandbox Code Playgroud)

该列表声明为:

static List<? super Number> list2;
Run Code Online (Sandbox Code Playgroud)

要么

static List list2;
Run Code Online (Sandbox Code Playgroud)

对于这个问题.

到目前为止都很好.但随后Netbeans给出了将for循环转换为增强for循环的提示.当我申请时,我得到:

    for (? super Number anoList1 : anoList) {
        System.out.print(anoList1 + " ");
    }
Run Code Online (Sandbox Code Playgroud)

哪个不起作用并产生大量错误.对于一个:cannot find anoList1. expected,: expected,; expected.

我已经尝试了几个方法来摆脱错误,但没有一个是有效的.

enhanced for loop写这个的正确方法是什么?

从我读过的其他主题来看,建议不要使用根本就enhanced for loop让它保持原样.

java generics for-loop

1
推荐指数
1
解决办法
93
查看次数

为什么对isspace()的调用永远不会返回true?

可能之前已经问了100次,但是我找不到或者没有找到解决方案.所有东西(据我所测试)都被识别出来,只有紧迫的空间不起作用.我正在键入空格+点击输入,光标只是移动到下一行,没有任何反应.我怎样才能做到这一点?

#include <cstdlib>
#include <iostream>
#include <cctype>

using namespace std;


int main(int argc, char** argv) {
    cout << "Press a key please:  " << endl;
    char key;
    cin >> key;

    if (isalpha(key))
        cout << key << " is a letter." << endl;
    else if (isdigit(key))
        cout << key << " is a number." << endl;
    else if (isspace(key))
        cout << key << " is a space." << endl;
    else if (ispunct(key))
        cout << key << " is a punctuation" << …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
817
查看次数

对valueOf的引用是不明确的

我遇到了:import static java.lang.Float.*;,注意static(实际上它import static java.lang.Math.*只是旁边).我以前从未见过它,并认为它非常有用,Float.valueOf("1.234f");变成了valueOf("1.234f").

但是当我添加时import static java.lang.Integer.*;,我收到一条错误消息:"reference to valueOf is ambiguous"因为这两个类都有(静态)方法.

那是不可能的?我可以在它模糊不清的地方使用它只有一段时间吗?

旁注:

这种情况与我们为什么只有extend一个类的背景相同,因为如果我们可以使用extend两个类,对于所有静态字段等,命名可能会导致相同的问题吗?

java ambiguous

0
推荐指数
1
解决办法
619
查看次数

用字符替换每个第二个分隔符实例

输入字符串:

"/key1/2/key2/3/key4/5/key6/6/key7/7"  
Run Code Online (Sandbox Code Playgroud)

需要更换分隔符的每二审"/"":".

如果我们打破由输入字符串分隔"/"并根据它构造输出字符串但是需要找到最简单的方法来执行此操作,则可以对此进行操作.

预期输出字符串:

"/key1:2/key2:3/key4:5/key6:6/key7:7"      
Run Code Online (Sandbox Code Playgroud)

java string

-4
推荐指数
1
解决办法
1122
查看次数