我的儿子(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) 如果我有班车:
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);?
我有这个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让它保持原样.
可能之前已经问了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) 我遇到了: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两个类,对于所有静态字段等,命名可能会导致相同的问题吗?
输入字符串:
"/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 ×5
ambiguous ×1
c++ ×1
constructor ×1
eclipse ×1
for-loop ×1
generics ×1
inheritance ×1
keylistener ×1
keypress ×1
string ×1
swing ×1