我是Java的新手,也是本网站的新用户,这是我的数组
double array[] = new double[6];
// Initializing elements
array[0] = 0.334;
array[1] = 0.334;
array[2] = 0.334;
array[3] = 0.501;
array[4] = 0.501;
array[5] = 0.334;
// Use for loop to display elements
for (int i = 0; i < array.length; i++)
{
System.out.print(array[i]);
System.out.print("\n");
}
我想找出值的所有指数(0.334);我的意思是这个例子它应该返回4,这表明4个索引具有这个值。
int index=-1;
int i;
for(i = 0; i < array.length;i++)
{
if (Input>=array[i]== ) // user input = 0.334
{
index=array[i];
System.out.print("Output = "+index);
return ;
}
}
答案 0 :(得分:1)
要查找值的出现次数,您只需使用a即可 计数器变量。在循环之前将其初始化为0,并在数组中遇到所需的值时将其递增1.
要查找指向所需值的所有索引的列表,请执行
可以简单地使用Set<Integer>
结构,类似的原则
here:在循环之前初始化一个空集,然后添加索引
如果它们指向主题中的值,则在循环内设置。在循环之后,您将拥有一组指向您的特定值的所有索引,并且set.size()
(可以用作“计数器变量”的替代)将为您提供该值的出现次数。
答案 1 :(得分:0)
第一次迭代:
int count = 0;
for (double d : array) {
if (d == user_input) {
count ++;
}
}
return count;
然后你应该注意浮点数可能无法与完全进行比较。即存储器中的数字(例如,如果计算的话)可能与用户键入的内容(例如,已解析的)完全相同。
int count = 0;
for (double d : array) {
if (approximatelyEqual(d, user_input, 1e-6)) {
count ++;
}
}
return count;
查看here以获取aboutEqual
的定义答案 2 :(得分:0)
试试这个
int count = 0;
double input = 0.334;
for (int i = 0; i < array.length; i++) {
if (array[i] == input)
++count;
}
System.out.println(count);