gpt4 book ai didi

java - 在我的 JTextField 中显示我的 getRank

转载 作者:行者123 更新时间:2023-12-01 09:54:59 26 4
gpt4 key购买 nike

所以我有这个方法(见下文)。它假设搜索已存储在数组中的输入文件,以查找包含与用户在 JTextField 中输入的名称相匹配的子字符串(不区分大小写)的所有名称。这个方法就是这样做的。然而,当它打印名称时,它也应该打印它的 bestDecade (如 1920)。我有一个...

public int getRank(int decade) {
int decadeRank = rank[decade];
return decadeRank;
}

这是十年年份,因此rank[0]代表1900,rank[1]代表1910。

public int bestDecade() {
int best = rank[0];
for(int i = 0; i < DECADES; i++)
if(rank[i] > best)
best = rank[i];
return best;
}

它获取某个十年内该名称的最佳排名数字,例如 351。但是,我似乎不知道如何显示排名十年而不是排名数字。您可以在下面看到我一直在尝试但不起作用的内容。那么有人知道如何显示排名吗?

private void match(String targetSubstring)
{
displayArea.setText("");
displayArea.append("FIND RESULTS for: " + targetSubstring);
displayArea.append("\n");
displayArea.append("\n Name Best Decade");
displayArea.append("\n--------------- ---------------");
targetSubstring = targetSubstring.toUpperCase();
for (int i = 0; i < namesArray.length; i++) {
String theName = namesArray[i].getName();
if (theName.toUpperCase().contains(targetSubstring))
{
int best = namesArray[i].bestDecade(); //this is what I've been trying
displayArea.append("\n" + namesArray[i].getName() + (namesArray[i].getRank(best)));
// displayArea.append(best);
}
}
}

最佳答案

以此为主要问题:

I can't seem to figure out how to display the rank decade and not the rank number

有了这些信息

rank[0] represents 1900 and rank[1] represents 1910

并且知道您的函数返回数字 190、1910 等。由于您返回 rank[best] 但您稍后使用返回值 getRank(best),您应返回 i,或删除 getRank 函数并使用返回值。

假设其余代码可以正常工作

选项 1:

// Your code, no changes
public int bestDecade() {
int best = rank[0];
for(int i = 0; i < DECADES; i++)
if(rank[i] > best)
best = rank[i];
return best; // Returns 1900, 1910 etc..
}

// Changes here to show the returned value (1900, 1910 etc.) directly
int best = namesArray[i].bestDecade(); //this is what I've been trying
displayArea.append("\n" + namesArray[i].getName() + best);

选项 2:

// Changes here to return "i" 
public int bestDecade() {
int best = 0;
for(int i = 0; i < DECADES; i++)
if(rank[i] > rank[best])
best = i;
return best; // Returns values between [0 .. DECADES)
}

// No changes here, use returned value, [0 .. DECADES) in
int best = namesArray[i].bestDecade(); // You have "i" here, the index of rank
displayArea.append("\n" + namesArray[i].getName() + namesArray[i].getRank(best)); // Use "i" here, rank[i]

关于java - 在我的 JTextField 中显示我的 getRank,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com