gpt4 book ai didi

java - 它只给出一个字符串作为输出

转载 作者:行者123 更新时间:2023-11-30 05:29:29 24 4
gpt4 key购买 nike

如果我输入 3 个对象

aakash
12323
aakshit
24r352
rahul
12323

如果我将此作为输入并输入搜索字符串“aa”,那么它只给出与搜索输出匹配的第一个字符串

aakash
12323

为什么不也 aakshit

import java.util.Scanner;
import java.io.*;
public class DA_2_searching {
String name,phone_number;
Scanner s = new Scanner(System.in);
DA_2_searching()
{
System.out.print("Enter the Details");
name=s.nextLine();
phone_number= s.nextLine();
}
void search()
{
String search;
search=s.nextLine();
if(name.startsWith(search))
{
System.out.println(name);
System.out.println(phone_number);

}
}
public static void main(String args[])
{
int n;
Scanner s = new Scanner(System.in);
n= s.nextInt();
DA_2_searching obj[]= new DA_2_searching[n];

for(int i=0;i<n;i++)
{
obj[i]= new DA_2_searching();
}
for(int i=0;i<n;i++)
{
obj[i].search();
}

}
}

最佳答案

您的问题的原因是,您一次仅搜索一个对象。调用 search() 函数的 for 循环一次仅将一个对象搜索输入进行比较。

for 循环中,您仅针对一个 DA_2_searching 对象(即第一个对象)调用搜索函数带有索引i - obj[i])。但是您想要搜索您创建的每个 DA_2_searching 对象,这意味着您必须重新设计 search() 函数,以便它获取所有 DA_2_searching对象并将它们与搜索-字符串进行比较。

这是我的解决方案:

import java.util.Scanner;
public class DA_2_searching {

private String name, phone_number;
private static DA_2_searching[] allPersons;
private static Scanner s = new Scanner(System.in);

public DA_2_searching() {
System.out.println("Enter the Details: ");
System.out.print("Name: ");
this.name = s.next();
System.out.print("Phone-Number: ");
this.phone_number = s.next();
System.out.println("\nNext: ");
}

public static void search() {
System.out.println("Type a word to search for: ");
String toSearch = s.next();
for(DA_2_searching person : allPersons) {
if(person.name.contains(toSearch)) { //contains is better for searching.
System.out.println("Result: " + person.name + " | " + person.phone_number);
}
}
System.out.println("\n");
if(!toSearch.equals("exit")) {
search();
}

}
public static void main(String args[]) {
System.out.print("Amount of Entries: ");
int n = s.nextInt();
System.out.println("");
allPersons = new DA_2_searching[n];
//Creating Persons
for(int i = 0; i < n; i++) {
allPersons[i] = new DA_2_searching();
}
//initializing search
search();
}

}

关于java - 它只给出一个字符串作为输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57869943/

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