java - 有没有办法通过为变量分配百分比来对数组中的变量进行排序(即按阅读完成进度对书籍进行排序)?
问题描述
我正在尝试创建一个按完成进度对书籍进行排序的程序。到目前为止,我已经使用 java.util.HashMap 和布尔变量创建了一个程序,通过将进度显示为“完成”或“未完成”来显示已完成和未完成的书籍。但是,我想编写另一种方法,允许用户输入 keySet 中显示的书籍中的页数以及用户已阅读的页数,并将根据这些变量计算百分比。
public void getFinishedBooks (HashMap<String, Boolean> library){
if(library.size() < 1){
System.out.println("Bye");
}
else {
for (String book : library.keySet()) {
System.out.print(book + " ... " + "Progress: ");
if (library.get(book) == true) {
System.out.print("Completed.");
System.out.println();
}
else if(library.get(book) == false){
System.out.print("Incomplete.");
System.out.println();
}
}
}
}
public static void main(String[] args) {
System.out.println("My Books: ");
HashMap<String,Boolean> myBooks=new HashMap<String, Boolean>();
myBooks.put("Final Fantasy XV: Dawn of the Future",true);
myBooks.put("Kingdom Hearts 358/2 Days: The Novel",false);
myBooks.put("Fahrenheit 451",true);
myBooks.put("Beyonders: A World Without Heroes",false);
Library myLibrary = new Library();
myLibrary.getFinishedBooks(myBooks);
}
解决方案
推荐阅读
- sql - 数据库:在查询执行结束之前检索数据
- python - 使用 python 将嵌套列表保存到新的较小列表中
- autohotkey - 如何更改gui中按钮上的文本位置
- firebase - 为什么云函数 URL (Firebase) 可以公开访问?如何限制对特定外部呼叫的访问?
- android - 不要附加文件并通过电子邮件发送
- c# - Outlook 插件创建 Outlook 团队会议
- angular - 尽管 tsconfig 目标设置为 ES5,为什么仍然需要 ES7/array polyfill
- reactjs - 当我尝试运行 React Native Scan QR Code 示例时出现错误
- emacs - 无法打开安装了撤消树的新框架
- jquery - 显示来自日期属性的文本和带有参数的 URL 链接