gpt4 book ai didi

java - 试图让java按字母顺序排列城市。不会工作,我是java新手

转载 作者:行者123 更新时间:2023-12-02 04:55:45 30 4
gpt4 key购买 nike

我正在尝试让扫描仪扫描每个城市,分析第一个字符并按字母顺序排列。我不知道如何使用 for 语句来完成这项任务,并且我在谷歌上搜索了很多,但现在我认为这将是正确的选择。除非 If Else 即使在正确的条件下也能工作,否则它仍然会运行 else。如果我可以使用 For() 我会如何使用它,如果不能的话我怎样才能让它工作。

对于示例城市,我使用“奥斯汀 [输入] 芝加哥 [输入] 丹佛 [输入]”。

编辑:让我澄清一下,我添加了 else 的“错误”部分来测试 If 参数。

package homework2;

import java.util.Scanner;

public class OrderCities {

public static void main(String[] args) {
// Create a scanner
Scanner scanner = new Scanner(System.in);

// Prompt user to input cities
System.out.println("Please enter each city");
String c1 = scanner.nextLine();
String c2 = scanner.nextLine();
String c3 = scanner.nextLine();

int first = 0;
int i1 = c1.charAt(first);
int i2 = c2.charAt(first);
int i3 = c3.charAt(first);

if ((i1 > i2 && i1 > i3) && i2 > i3){
System.out.println(c1 + " " + c2 + " " + c3);
} else
System.out.println("Error");



}

}

所以我的教授告诉我,我的想法是正确的,并发现符号 [大于,小于] 应该交换,因为程序以 Unicode 读取它们。他补充说System.out.println(i1 + " " + i2 + " " + i3);int i2 = c2.charAt(first);
int i3 = c3.charAt(first);
System.out.println(i1 + " " + i2 + " " + i3);

if (i1 < i2 && i1 < i3){
if (i2 < i3){
System.out.println(c1 + ", " + c2 + ", " + c3);`

让它读出 Unicode。感谢大家的帮助!这是我的原始代码(这只是为了文档,以防像我这样的其他初学者有类似的问题):

` 打包作业2;

        import java.util.Scanner;

public class OrderCities {

public static void main(String[] args) {
// Create a scanner
Scanner scanner = new Scanner(System.in);

// Prompt user to input cities
System.out.println("Please enter each city");
String c1 = scanner.nextLine();
String c2 = scanner.nextLine();
String c3 = scanner.nextLine();

int first = 0;
int i1 = c1.charAt(first);
int i2 = c2.charAt(first);
int i3 = c3.charAt(first);
System.out.println(i1 + " " + i2 + " " + i3);

if (i1 < i2 && i1 < i3){
if (i2 < i3){
System.out.println(c1 + ", " + c2 + ", " + c3);
}else
System.out.println(c1 + ", " + c3 + ", " + c2);
} else if (i2 < i1 && i2 < i3){
if (i1 < i3){
System.out.println(c2 + ", " + c1 + ", " + c3);
}else
System.out.println(c2 + ", " + c3 + ", " + c1);
} else if (i3 < i1 && i3 < i2){
if (i2 < i1){
System.out.println(c3 + ", " + c2 + ", " + c1);
}else
System.out.println(c3 + ", " + c1 + ", " + c2);
} else
System.out.println("ROFLOL, there seems to be an 3RR0R, which means you somehow found a way to break my code!! TR0LL0L0L0L0L");
}





}

最佳答案

这应该有您需要的一切:How can I sort a List alphabetically?

无需提取第一个字符进行比较。 Java 的集合可以完成这项工作。

(将字符串放入 new ArrayList<String>(); 或任何其他集合中。)

关于java - 试图让java按字母顺序排列城市。不会工作,我是java新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28789661/

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