首页 > 解决方案 > 有没有办法通过为变量分配百分比来对数组中的变量进行排序(即按阅读完成进度对书籍进行排序)?

问题描述

我正在尝试创建一个按完成进度对书籍进行排序的程序。到目前为止,我已经使用 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);
        
        
   }

标签: javahashmapbooleanpercentage

解决方案


推荐阅读