public class CHECK {
public CHECK(){
String []wrkrs = {"?????", "????", "???????", "????????", "???", "????", "????", "????", "?????","??????"};
int [] wrkrsPhone = {22626,22627,22628,22629,22630,22631,22632,22633,22634,22635};
String a = JOptionPane.showInputDialog(null, "Hello,friend!Do you wanna know, is that guy at work?Enter name:");
if(Arrays.asList(wrkrs).contains(a)){
JOptionPane.showMessageDialog(null, "That guy is at work!");
JOptionPane.showMessageDialog(null, "calling " + wrkrsPhone[wrkrsPhone.toString().indexOf(a)]);
}else{
JOptionPane.showMessageDialog(null, "?????? ?????????? ???!");
}
}
Run Code Online (Sandbox Code Playgroud)
我有两个数组,包含整数和字符串.如您所见,我想将字符串数组中的元素数(例如,wrkrs number 3)添加到int数组中,称为wrkrs phone.我该怎么做?我尝试过IndexOf,但它不起作用.
输出,我想要的是:
Enter name:
???
That guy is at work!
Calling ??? + wrkrsPhone(???).
Run Code Online (Sandbox Code Playgroud)
一个更好的解决方案是拥有一个包含工人姓名和电话号码的工人类.
然后,您可以使用a HashMap<String,Worker>而不是数组来存储数据.
这使搜索更有效:
Map<String,Worker> workersMap = new HashMap<>();
workersMap.put ("?????", new Worker ("?????", 22626));
...
Worker worker = workersMap.get(a);
if (worker != null) {
call (worker.getPhone()); // or do whatever you want to do with the phone number
}
Run Code Online (Sandbox Code Playgroud)
这比Arrays.asList(wrkrs).contains(a)在List上执行线性搜索更有效.
| 归档时间: |
|
| 查看次数: |
88 次 |
| 最近记录: |