如何用java写出能实现以下功能的代码:将《java好难》《高等数学》《大学物理》《线性代数》分别编号为1,2,3,4。《java好难》的位置是A.1,《高等数学》的位置是B.5,《大学物理》和《线性代数》的位置是D.8,只要用户输入书名就能得到图书的位置和编号
时间: 2023-09-18 16:16:27 浏览: 65
您好,以下是可以实现该功能的Java代码:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class BookLocation {
public static void main(String[] args) {
// 创建书籍映射表
Map<String, String> bookMap = new HashMap<>();
bookMap.put("java好难", "A.1");
bookMap.put("高等数学", "B.5");
bookMap.put("大学物理", "D.8");
bookMap.put("线性代数", "D.8");
// 获取用户输入的书名
Scanner scanner = new Scanner(System.in);
System.out.print("请输入书名:");
String bookName = scanner.nextLine();
// 根据书名查找映射表并输出结果
if (bookMap.containsKey(bookName)) {
String location = bookMap.get(bookName);
int id = getIdByLocation(location);
System.out.println(bookName + "的位置是" + location + ",编号为" + id);
} else {
System.out.println("无法找到该书籍!");
}
}
// 将位置转换为编号
private static int getIdByLocation(String location) {
switch (location.charAt(0)) {
case 'A':
return 1;
case 'B':
return 2;
case 'C':
return 3;
case 'D':
return 4;
default:
return 0;
}
}
}
```
代码解释:
1. 首先创建一个Map,将每个书名与其位置映射起来。
2. 接着使用Scanner获取用户输入的书名。
3. 然后查找映射表,如果存在该书名,则输出位置和编号,否则提示无法找到该书籍。
4. getIdByLocation方法用于将位置转换为编号,实现方式是使用switch-case判断位置的第一个字母。
阅读全文