gpt4 book ai didi

java - 如果输入与 java 中对象数组中的元素匹配,则返回一个值

转载 作者:行者123 更新时间:2023-12-02 10:06:30 25 4
gpt4 key购买 nike

如果输入与对象数组中的任何 id 元素匹配,我希望返回值 1,否则返回 -1
例如对于
27
维吉西伊赫
凯伊夫斯尔
34
奥古伊布赫
夸克萨尼
10
氧化 enzyme
格夫赫特兹夫
19
坦克夫
阿里 jack 赫
32
西维吉耶
海基夫
34
输出应为 1。如果最后输入是 25,则输出应为 -1
下面给出的代码无法正常工作。它只检查数组中最后一个输入的 id 值。如果我输入 271019 它仍然返回 -1。仅 32 返回 1。请提出更改建议。

public class LibraryDemo 
{
public static Library[] searchLibraryById(Library[] objArray, int inputid)
{
int out=0;
for(int i=0;i<objArray.length;i++)
{
if (objArray[i].id==inputid)
{
out=1;
}
else
{
out=-1;
}
}
System.out.print(out);
return objArray;
}
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
Library[] objArray=new Library[5];

for(int i=0;i<objArray.length;i++)
{
int id=sc.nextInt();sc.nextLine();
String name=sc.nextLine();
String address=sc.nextLine();
objArray[i]=new Library(id,name,address);
}

int inputid=sc.nextInt();
searchLibraryById(objArray, inputid);
}
}

class Library
{
int id;
String name;
String address;

public int getId()
{
return id;
}
public void setId(int id)
{
this.id=id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name=name;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address=address;
}

public Library(int id,String name, String address)
{
this.id=id;
this.name=name;
this.address=address;
}
}

最佳答案

找到输入值后,您需要跳出循环。 out 被覆盖,因为即使在找到匹配项后您仍继续检查剩余的数组索引

for(int i=0;i<objArray.length;i++)
{
if (objArray[i].id==inputid)
{
out=1;
break; // found match, break out of loop
}
else
{
out=-1;
}
}
System.out.print(out);

关于java - 如果输入与 java 中对象数组中的元素匹配,则返回一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55306317/

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