Java 顺序向后搜索
我正在学习顺序搜索,并有顺序搜索代码,但我想找到搜索过程从右(数据末尾)到左(数据开头)的数字Java 顺序向后搜索,java,search,sequential,Java,Search,Sequential,我正在学习顺序搜索,并有顺序搜索代码,但我想找到搜索过程从右(数据末尾)到左(数据开头)的数字 publicstaticvoidmain(字符串[]args){ int[]a={5,6,9,2,8,1,7}; int键=8; 布尔f=假; for(int i=0;i=0;i--)如果要查找与键匹配的所有索引,则可以创建一个方法,该方法返回一组表示找到的每个索引的整数值。您还可以使用从array.length-1到0的简单for循环从右到左循环 静态集合匹配骰子(int[]数组,int键){ 集合
publicstaticvoidmain(字符串[]args){
int[]a={5,6,9,2,8,1,7};
int键=8;
布尔f=假;
for(int i=0;i
如果您想从后向前搜索,我想您可以编辑for loop选项。for(int i=a.length-1;i>=0;i--)
如果要查找与键匹配的所有索引,则可以创建一个方法,该方法返回一组表示找到的每个索引的整数值。您还可以使用从array.length-1到0的简单for循环从右到左循环
静态集合匹配骰子(int[]数组,int键){
集合索引=新的HashSet();
对于(int index=array.length-1;index>-1;index--){
int-valueAtIndex=数组[索引];
if(valueAtIndex==键){
索引。添加(索引);
}
}
回报指数;
}
范例
publicstaticvoidmain(字符串[]args){
int[]a={5,6,9,2,8,1,7};
int键=8;
设置索引=匹配骰子(a,键);
if(index.isEmpty()){
System.out.println(“找不到键的索引”);
}否则{
System.out.println(“在以下索引中找到的键:“+索引”);
}
}
如果您想用相同的键从右到左查找第一个索引,只需返回int并快速失败
静态int firstIndex(int[]数组,int键){
对于(int index=array.length-1;index>-1;index--){
int-valueAtIndex=数组[索引];
if(valueAtIndex==键){
收益指数;
}
}
抛出新的IllegalStateException(“未找到具有相同键的索引”);
}
范例
publicstaticvoidmain(字符串[]args){
int[]a={5,6,9,2,8,1,7};
int键=8;
试一试{
int index=firstIndex(a,键);
System.out.println(String.format(“在索引%s处找到键”,索引));
}捕获(非法状态){
System.out.println(“未找到索引”);
}
}
您能更好地解释一下吗?你说找数字是什么意思?你是说有多少?还是说找到的索引?找到的索引
public static void main(String[] args) {
int []a={5,6,9,2,8,1,7};
int key=8;
boolean f=false;
for (int i = 0; i < a.length; i++) {
if(key == a[i]){
System.out.println("data found on index "+i);
f=true;
break;
}
}
if (f=false){
System.out.println("data not found");
}
}