Java 输出多个数组值的位置。位置不是值本身

Java 输出多个数组值的位置。位置不是值本身,java,arrays,java.util.scanner,Java,Arrays,Java.util.scanner,我试图创建一个程序,它输出数组中大于一个变量值的所有位置。目前为止 我做了以下工作:使用扫描仪定义阵列的长度。第二个扫描仪是输入值。如果数组的长度是5,我可以输入->5,4,3,7,8 该程序的主要功能是: 通过第三个扫描仪,我添加了一个值。该值定义了在最后输出的内容,即数组的所有位置,这些位置的值高于我们通过上一个扫描仪添加的值 示例:输入:5153423 产出:1 3 import java.util.Scanner; 公共类输出限制{ 公共静态void main(字符串[]args){

我试图创建一个程序,它输出数组中大于一个变量值的所有位置。目前为止 我做了以下工作:使用扫描仪定义阵列的长度。第二个扫描仪是输入值。如果数组的长度是5,我可以输入->5,4,3,7,8

该程序的主要功能是: 通过第三个扫描仪,我添加了一个值。该值定义了在最后输出的内容,即数组的所有位置,这些位置的值高于我们通过上一个扫描仪添加的值

示例:输入:5153423
产出:1 3
import java.util.Scanner;
公共类输出限制{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
整数指数;
整数;
int[]字段;
int值;
整数输出;
{
编号=sc.nextInt();
字段=新整数[数字];
}
指数=0;
while(索引<编号){
字段[索引]=sc.nextInt();
索引++;
}
值=sc.nextInt();
输出=0;
如果(索引<值-1)System.out.println(“-”);
指数=指数+1;
系统输出打印项次(索引);
}
}
  • 您的输出应该包含多个值,因此我建议使用数组或ArrayList来存储输出
  • 从扫描仪读取
    后,您必须迭代
    字段
    数组,检查元素是否为>
    ,并保存输出数据结构中的所有索引。您可以使用while或for循环来实现这一点
  • 它可以是这样的:

    公共类输出\u限制{
    公共静态void main(字符串[]args){
    扫描仪sc=新的扫描仪(System.in);
    整数指数;
    整数;
    int[]字段;
    int值;
    列表输出=新的ArrayList();
    编号=sc.nextInt();
    字段=新整数[数字];
    指数=0;
    while(索引<编号){
    字段[索引]=sc.nextInt();
    索引++;
    }
    值=sc.nextInt();
    for(int i=0;i值){
    产出.增加(i);
    }
    }
    System.out.println(“输出:”+输出);
    }
    }
    
    由于输出应该有多个值,您不认为可能需要一个循环来查找它们吗?