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

Java(初学者):在用户给出姓名列表后,按字母顺序显示名字和姓氏

慕容铭
2023-03-14

我一直在研究一个问题:

name = getString("Please enter a name, or input q to exit.");

if(!name.equals("q")) {
   low = name;
   high = name;
}

while(!name.equals("q")) {
   int x;
   x = name.compareToIgnoreCase(low);
   if(x == -1){
      low = name;
   }
   x = name.compareToIgnoreCase(high);
   if(x == 1) {
      high = name;
   }
   name = getString("Please enter another name, or input q to exit.");
}

displayResults(low, high);

共有1个答案

南门意蕴
2023-03-14

Java API文档只声明compareToIgnoreCase()“返回:负整数、零或正整数”。因为您将x分别与1和-1进行比较,所以您可能实际上收到了另一个返回值,因此没有检测到真正的“high”。

另一种可能是输入中可能有不可见的字符(如空格或返回)。当我在机器上运行“David”.comparetoignorecase(“Charlie”)时,它返回-67。

 类似资料:
  • 被遗忘的姓名列表 看了一些从来没接触过吉里吉里的朋友使用NVL写的游戏,发觉这个功能竟然很少有人使用。 很多人会一次次地使用类似 【姓名栏】 名字=XXX 颜色=XXX 这样的指令来输入对话人的名字和对应的颜色。 这样做有什么错误呢,其实完全没错,就是……写上几百个难道不觉得烦么……= = 其实NVL提供了简化功能,那就是姓名编辑。 只要设置一次名字和颜色,之后就可以直接从下拉菜单里选择这个名字,

  • 我在用户表中有一个名称字段。我将全名存储在一个字段中,首先是名字,然后是姓氏。 我想做的是将顺序更改为姓氏出现在第一,然后名字当我调用

  • 我的一个Java类分配要求我对多维字符串数组进行排序。它还需要输入您是想按名字排序还是按姓氏排序。我不太理解这个问题的措辞,也就是主要的排序和粗体部分,所以我会把它贴在这里。 编写一个程序,使用以下标题对二维数组进行排序: 该方法应先对行执行主排序,然后对列执行主排序。 使用以下数据测试您的程序: 您的程序应该询问您是希望数组按名字排序还是按最后一个sName排序。 数组中的行将包含名字。sort

  • 我需要帮助来分别获得名字和姓氏。 字段为[全名]:Halsey S Dunn 我可以单独获得名字,但无法单独获得姓氏: 这是我的名字和姓氏代码: 我的结果需要是:

  • 问题内容: 我有一个客户列表,其名称为全名。我想创建一个将全名作为参数并分别返回名字和姓氏的函数。如果不可能,我可以有两个单独的函数,一个返回名字,另一个返回姓氏。全名列表包含最多三个单词的名称。我想要的是: 全名由两个词组成时。第一个应该是名称,第二个应该是姓氏。 当一个全名由三个词组成时。第一个单词和中间单词应为名字,第三个单词应为姓氏。 例子:- 结果:- 我搜索并找到了无法按预期运行的解决

  • 问题内容: 我知道 将列出表中的所有列,但我有兴趣按字母顺序列出这些列。 说,我有三列,“姓名”,“年龄”和“性别”。 我希望这些列以以下格式组织 是否可以使用SQL做到这一点? 问题答案: 是的,没有:-) SQL本身并不关心列的排列顺序,但是,如果要使用的话: 您会发现它们可能按此顺序出现(尽管我不确定SQL标准是否要求这样做)。 现在您可能 不想 这样做,但有时生活不公平:-) 您还可以使用