我在计算数组的最大值和最小值时遇到问题。我正在寻找最大和最小指数,而不是它们包含的值。我打印出来的最大值为7,最小值为1,但这是不正确的。最大值应为1,最小值应为6.我尝试在自己的循环中制作if语句,但得到了相同的结果,我看了其他代码,但仍然无法确定我的位置出错了。任何帮助将不胜感激!
public static void displaySales (double[] data)
{
double total = 0;
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for (int i = 0; i < data.length; i ++)
{
System.out.println("Week "+(i+1)+" total sales:"+data[i]);
System.out.printf("Average daily sales week "+(i+1)+": %.2f\n\n", data[i]/7);
total += data[i];
if (max < data[i])
max = i;
if (min > data[i])
min = i;
}
double avgWeeklySales = total/data.length;
System.out.printf ("Total sales: %.2f\n", total);
System.out.printf ("Average weekly sales: %.2f\n", avgWeeklySales);
System.out.println ("Week with highest sales: "+ (max+1));
System.out.println ("Week with lowest sales: "+ (min+1));
}
}
答案 0 :(得分:1)
您正在寻找password
数组中具有最小值和最大值的索引。这意味着您应该跟踪最小/最大索引和最小/最大值。
#name="ngModel"
最后,您应该打印#password="ngModel"
和 <div class="form-group">
<input type="password" class="form-control" id="pwd" placeholder="password" [(ngModel)]="password" name="password" #password="ngModel" maxlength="10" minlength="5" required>
</div>
<div [hidden]="password.valid || !(password.dirty || password.touched)">
<div class="text-danger">Please enter Password</div>
</div>
。
答案 1 :(得分:0)
我认为您的意思是设置data[i]
而不是i
的值。
if (max < data[i])
max = data[i];
if (min > data[i])
min = data[i];
答案 2 :(得分:0)
首先,您需要使用实际值(而不是索引)更新max和min值,然后将索引存储在另一个变量中。此外,比较应该颠倒
if (max > data[i]) {
max = data[i];
maxIndex = i;
}
if (min < data[i]) {
min = data[i];
minIndex = i;
}
最后打印索引值。 (也不要忘记宣布他们)
答案 3 :(得分:-1)
试试这个。
import java.util.Scanner;
public class MinMaxTest {
static void minMax(int[] arr){
int sum=0,min=0,max=0,ch=0;
int[] temp = new int[arr.length];
for(int i=0;i<arr.length;i++){
sum=sum+arr[i];
}
//temp=sum-arr[0];
for(int i=0;i<arr.length;i++){
temp[i]=sum-arr[i];
}
//sort the array, 0 is minimum element index and array length - 1 index is maximum element index
for(int i=0;i<temp.length;i++){
for(int j=0;j<temp.length-1-i;j++){
if(temp[j]>temp[j+1]){
ch=temp[j];
temp[j] = temp[j+1];
temp[j+1] = ch;
}
}
}
/*for(int i: temp){
System.out.println(i);
}*/
System.out.println(temp[0]+" "+temp[arr.length-1]);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
System.out.println("fd:" + 3/6);
Scanner scn = new Scanner(System.in);
System.out.println("enter the size of array");
int n = scn.nextInt();
int[] arr = new int[n];
for(int i=0;i<n;i++){
arr[i] = scn.nextInt();
}
minMax(arr);
scn.close();
}
}