我有一个简单的GUI:
public class MyGUI extends JFrame{
public MyGUI(){
run();
}
void run(){
setSize(100, 100);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// maybe an action listener here
}
}
Run Code Online (Sandbox Code Playgroud)
我想打印出这条消息:
System.out.println("Closed");
Run Code Online (Sandbox Code Playgroud)
当GUI关闭时(按下X时).我怎样才能做到这一点?
这是新数据类型的定义:
data Total a = Total a :+: Total a
|...
Run Code Online (Sandbox Code Playgroud)
什么:+:在这种类型定义中意味着什么?
我有一个String数组:
String[] str = {"ab" , "fog", "dog", "car", "bed"};
Arrays.sort(str);
System.out.println(Arrays.toString(str));
Run Code Online (Sandbox Code Playgroud)
如果我使用Arrays.sort,输出是:
[ab, bed, car, dog, fog]
Run Code Online (Sandbox Code Playgroud)
但我需要实现以下排序:
FCBWHJLOAQUXMPVINTKGZERDYS
我想我需要实现Comparator和覆盖compare方法:
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return 0;
}
});
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我有两个问题:
public static void method1(int[] a, int[] b) {
int sum1 = 0, sum2 = 0;
for(int i = 0; i < a.length; i++) {
sum1 += a[i];
}
for(int i = 0; i < b.length; i++) {
sum2 += b[i];
}
}
Run Code Online (Sandbox Code Playgroud)
问题1:这是否在O(n)中?是否有多少循环(不是嵌套循环)method1?
问题2:如果有的话怎么办?
Arrays.sort(a);
Run Code Online (Sandbox Code Playgroud)
里面method1,它有什么功能?
快速失败:意味着如果他们在迭代开始后检测到集合已经发生了变化,那么他们就会抛弃未经检查的东西
ConcurrentModificationException.
我写了一个测试示例来解决这个问题:
String hi = "Hi";
list.add(hi);
list.add("Buy");
System.out.println("list before: " + list);
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
String string = iterator.next();
list.add("Good");
}
Run Code Online (Sandbox Code Playgroud)
输出是:
list before: [Hi, Buy]
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)
at java.util.ArrayList$Itr.next(ArrayList.java:831)
at thread.CollectionTest.main(CollectionTest.java:19)
Run Code Online (Sandbox Code Playgroud)
这是预料之中的.但是,删除元素时,不会抛出异常:
List<String> list = new ArrayList<>();
String hi = "Hi";
list.add(hi);
list.add("Buy");
System.out.println("list before: " + list);
for (Iterator<String> iterator = list.iterator(); iterator.hasNext();) {
String string = iterator.next();
list.remove(hi);
}
Run Code Online (Sandbox Code Playgroud)
输出:
list before: [Hi, Buy] …Run Code Online (Sandbox Code Playgroud) 我有两个表:员工(ID,姓名,地址)和商店(ID,地址),我想记录有关在每个商店工作的人的信息.
我想创建一个名为Employee_List表的新表.我的问题:
1- Employee_List和Employee有一对多的关系,对吧?
2-要存储的Employee_list具有一对一的关系,对吧?
3-如何为Employee_List表定义外键和主键?

我有这段代码:
List<ArrayList<Integer>> tree = new ArrayList<ArrayList<Integer>>();
tree.add(0, new ArrayList<Integer>(Arrays.asList(1)));
tree.add(1, new ArrayList<Integer>(Arrays.asList(2,3)));
tree.add(2, new ArrayList<Integer>(Arrays.asList(4,5,6)));
Run Code Online (Sandbox Code Playgroud)
例如,我想用9代替5.我怎么能这样做?
我MainActivity有一个Button当它被按下这个方法被称为:
public void sendMessage(View view) {
//Do something in response to the button
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText)findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)
所以应用程序显示DisplayMessageActivity,然后按下ActionBar返回MainActivity.并且我有一个onRestart我认为应该在返回MainActivity(它确实返回MainActivity)时调用它,但它没有被调用.什么似乎是问题?
onRestart 方法:
@Override
protected void onRestart() {
super.onRestart();
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(str);
setContentView(textView);
}
Run Code Online (Sandbox Code Playgroud) 所以我发现了一些类似于我的问题,但没有一个问题具体解决了我遇到的问题.
我的程序将由命令行参数调用,例如:
java Main "inputFile.txt" "inputFile2.txt"
我正在使用Eclipse进行编程,并且正在使用它public void main(String[] args)来期待arg[0]和arg[1]
但是当我在eclipse中运行时,我无法输入我使用的文件.为了解决这个问题,我将我需要的2个文件添加到我的项目工作中.然后在运行配置中,我将这些文件指定为:inputFile.txt inputFile2.txt
因此,当我现在运行该程序时,它只是说它找不到inputFile.txt
基本上我不确定问题出在哪里,我是否输入运行配置中的参数错误,我是否将它们放在我的工作空间中,或者我的代码是否不正确.
我有一个界面:
public interface IUser {
public boolean login();
}
Run Code Online (Sandbox Code Playgroud)
以及两个实现该接口的类:
public class UserA implements IUser{
public boolean login() {
System.out.println("login");
}
public void update() {
System.out.println("update");
}
}
public class UserB implements IUser {
public boolean login() {
System.out.println("login");
}
public void delete() {
System.out.println("delete");
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如果我创建一个用户:
IUser user = new UserA();
Run Code Online (Sandbox Code Playgroud)
用户对象无权访问update()但建议使用接口创建对象,我想知道是否有可以使用的最佳实践或设计模式(而不是强制转换)?
java ×7
android ×1
arraylist ×1
arrays ×1
big-o ×1
collections ×1
concurrency ×1
eclipse ×1
haskell ×1
jframe ×1
relational ×1
sql ×1
sql-server ×1
swing ×1
t-sql ×1