gpt4 book ai didi

java - 通过输入数组值来了解类别

转载 作者:行者123 更新时间:2023-12-01 17:22:58 29 4
gpt4 key购买 nike

我在java中的2个不同类中各有一个字符串数组。

当我从任何数组中输入一个值时,我想获取该数组值所属的类。

那么如何通过输入数组值来了解该类呢?

例如:

import java.io.*;
class Car {

public static void main(String args[]) throws Exception {
System.out.println("The parts of a car are as follows");
for (int i = 1; i <= 5; i++) {
System.out.println(i + str[i]);
}
for (int j = 1; j <= 5; j++) {
System.out.println(j + ch[j]);
}
DataInputStream dis = new DataInputStream(System.in);
System.out.println("Choose and enter any part name to group it under following categories:" + "\n" + "Engine" + "\t" + "\t" + "Bonet");
String part = dis.readLine();
if (part == ch[]) {
System.out.println("Your choosen part is " + part + " and it comes under Engine category");
} else {
System.out.println("Your choosen part is " + part + " and it comes under Bonet category");
}
}
}

class Engine {
String ch[] = {"asd", "fgh"};
}

class Bonet {
String str[] = {"qwe", "rty"};
}

现在,当用户输入 asd 时,我想显示它属于哪个类

最佳答案

我不会给你完整的代码,因为我相信自己创建它会对你更好。相反,您需要考虑以下一些事实:

  1. 要访问存储在其他类中的数组,您必须创建该类的实例

    Engine engine = new Engine();
    engine.ch[0];

    或者在你的情况下,你应该使你的数组​​静态

    class Engine {
    static String ch[] = { "asd", "fgh" };
    }

    并通过类名 Engine.ch[0]

  2. 访问它
  3. 数组的索引范围为 0arraySize-1

  4. 要获取数组的大小,您可以使用其字段length,然后像

    一样使用它
    for(int i=0; i<Bonet.str.length; i++){
    System.out.println(i+Bonet.str[i]);
    }
  5. DataInputStream 中的
  6. readLine() 已弃用。相反,您可以使用 java.util.Scanner

    中的 nextLine
    Scanner scanner = new Scanner(System.in);
    //...
    String part = scanner.nextLine();
  7. 要检查某个对象是否存储在数组中,您必须迭代该数组的所有元素并将它们与您的对象进行比较。另请记住,要比较 String 对象,您应该使用 equals 方法,例如 part.equals(otherString)

    但为了使用更少的代码,您可以将数组包装到 List 中并使用其 contains(Object o) 方法。要将数组包装到列表中,您可以使用 java.util.Arrays 类中的 asList 方法。

    if(Arrays.asList(Engine.ch).contains(part)){...

关于java - 通过输入数组值来了解类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17262201/

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