当前位置: 首页 > 知识库问答 >
问题:

我想能够比较两个漫画的收视率,但我不知道怎么做,所以我可以输入两个标题,然后抓取分数进行比较

公西岳
2023-03-14

我在一个数组列表中设置了10个不同漫画的数据,它们分别是标题、评级、进行中与否,以及章节数量。我想能够输入两个不同的漫画标题到扫描仪,然后让它比较两个评分,看看哪个更高。这是我目前掌握的代码。提前谢谢你的帮助。

public class TopMangaData {

private String title;
private double rating;
private boolean onGoing;
private int chapters;

public TopMangaData(String title, double rating, boolean onGoing, int chapters) {
    this.title = title;
    this.rating = rating;
    this.onGoing = onGoing;
    this.chapters = chapters;
}

public String getTitle() {
    return title;
}

public void setTitle(String title) {
    this.title = title;
}

public double getRating() {
    return rating;
}

public void setRating(double rating) {
    this.rating = rating;
}

public boolean getOnGoing() {
    return onGoing;
}

public void setOnGoing(boolean onGoing) {
    this.onGoing = onGoing;
}

public int getChapters() {
    return chapters;
}

public void setChapters(int chapters) {
    this.chapters = chapters;
}

public String toString() {
    return "\nTop Manga Data \nTitle: " + title + "\nRating: " + rating + "\nOn going: " + onGoing + "\nChapters: " + chapters;
}

}

import java.util.ArrayList;

导入java。util。扫描仪;

公共类TopMangAdatarRunner{public static void main(字符串[]args){

    ArrayList<TopMangaData> TopMangaData = new ArrayList<TopMangaData>(10); {
        TopMangaData.add(new TopMangaData("Berserk", 9.43, false, 380));
        TopMangaData.add(new TopMangaData("JoJo's Bizarre Adventure Part 7: Steel Ball Run", 9.27, false, 96));
        TopMangaData.add(new TopMangaData("One Piece", 9.17, true, 1041));
        TopMangaData.add(new TopMangaData("Vagabond", 9.16, false, 327));
        TopMangaData.add(new TopMangaData("Monster", 9.12, false, 162));
        TopMangaData.add(new TopMangaData("Fullmetal Alchemist", 9.07, false, 116));
        TopMangaData.add(new TopMangaData("Grand Blue", 9.06, true, 75));
        TopMangaData.add(new TopMangaData("Goodnight Punpun", 9.05, false, 147));
        TopMangaData.add(new TopMangaData("Slam Dunk", 9.04, false, 276));
        TopMangaData.add(new TopMangaData("Vinland Saga", 8.99, true, 190));
        
        for(TopMangaData m :TopMangaData) {
            System.out.println(m.toString());
        }
        Scanner scan = new Scanner(System.in);
        
        String firstComparison;
        String secondComparison;
        
        System.out.println("");
        System.out.println("Want to compare two of these top manga's scores?");
        System.out.println("Input the first manga you would like to compare:");
        
        firstComparison = scan.nextLine();
        
        System.out.println("Input the second manga you would like to compare:");
        
        secondComparison = scan.nextLine();
        
        

        
        }
            
    }

}

共有1个答案

上官恩
2023-03-14

首先,您需要从列表中找到要比较的对象。最简单的方法是反复浏览列表并检查标题(假设标题在列表中):

int firstComparisonValue = 0;
for(TopMangaData m :TopMangaData)
        if(m.getTitle().equals(firstComparison))
            firstComparisonValue = m.getRating();

int secondComparisonValue = 0;
for(TopMangaData m :TopMangaData)
        if(m.getTitle().equals(secondComparison))
            secondComparisonValue = m.getRating();

然后比较你的数值,打印出大数值的标题

if(firstComparisonValue > secondComparisonValue){
   System.out.println("First manga has higher rating")
}
else if (firstComparisonValue < secondComparisonValue){
   System.out.println("Second manga has higher rating")
}
else {
   System.out.println("Both have the same rating!")
}
 类似资料:
  • 我可以完成这段代码,但是我想在不重复方法的情况下完成,怎么能用一个方法完成呢? 我可以将元素更改为(+-*/)吗?(那部分是我有问题)

  • 我有两个对象类Person和Employee。两个类都有共同的属性年龄。我已经在Arraylist中添加了这两个类的几个对象,现在我需要两个,写一个比较器,并将其传递给集合类的sort方法。并希望列表按年龄排序。我尝试这样做只是为了更清楚地使用Java中的carparable和Comparator。 编辑:我问这个问题的原因是我不清楚比较者和可比性。我在某个地方读到,如果类实现了可比较的,那么它就

  • 问题内容: 我想知道如何比较两个不同的数据库 表记录 。我的意思是,我将比较两个数据库表,它们可能具有不同的列名但具有相同的数据。但是其中一个表可能比另一个表具有更多的记录,因此我想看看这两个表之间的区别是什么。为此,如何编写sql查询?仅供参考:这两个数据库都在同一个SQL Server实例下。 然后,在比较表1和表2之后,它应该 从 表2返回 Ruby Core。 问题答案: 如果执行从T1到

  • 必须创建一个java应用程序,该应用程序将确定并显示用户输入的数字总和。求和必须在用户希望的时间内进行。当程序结束时,求和必须显示如下,例如,用户输入3个数字:10、12、3=25 并且必须使用while循环

  • 这是我的开始代码我有另外三个类矩形,右三角,和正方形都与代码,但我集中在我的形状类首先我需要实现可比接口可比。然后,因为get area方法在每个子类中被重写。我可以在Shape类中编写一个compareTo()方法,该方法在将任何形状或子类对象与其他对象进行比较时都能正确工作。我需要实现compareTo()方法。那么公共int compareTo(形状s)正确吗?现在进行比较的代码是int k

  • 我有两个arrayList,我需要比较它们,得到唯一值,并用它们构建一个新的数组,问题是一些值是相同的,但大写,所以它们不应该显示为唯一值。这是我的代码,很好用,但是很慢 然后我找到了这个解决方案,它更快,但不比较大小写,你知道如何用这种方法或类似的方法做到这一点吗?