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, "Такого сотрудника нет!");
}
}
我有两个数组,其中包含整数和字符串。正如你所看到的,我想将字符串数组中的元素数量(例如wrkrs编号3)添加到int数组中,称为wrkrsphone。我该怎么做?我尝试了 IndexOf,但它不起作用。
我想要的输出是这样的:
Enter name:
Юра
That guy is at work!
Calling Юра + wrkrsPhone(Юра).
最佳答案
更好的解决方案是拥有一个 Worker 类,其中包含 worker 的姓名和电话号码。
然后你可以使用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
}
这比 Arrays.asList(wrkrs).contains(a)
更有效,它对列表执行线性搜索。
关于java - Java 中的 Int 和 String 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391071/