Java 找不到最高值和最低值
我在最高点和最低点都有一些问题Java 找不到最高值和最低值,java,Java,我在最高点和最低点都有一些问题 import java.util.Scanner; public class Lab3bq1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); double [] num = new double[10]; double [] p = new double[10]; System.out.println("Ente
import java.util.Scanner;
public class Lab3bq1
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
double [] num = new double[10];
double [] p = new double[10];
System.out.println("Enter the number of books purchased by :");
for(int i=0;i<num.length;i++)
{
System.out.print("Customer #"+(i+1)+ " = ");
num[i] = input.nextDouble();
}
System.out.println("Review for 10 Selected Customers");
System.out.println("Points Awarded:");
setp(num,p);
System.out.println("Total books purchased : "+settotalbook(num));
System.out.println("Highest points : Customer "+sethighest(p));
System.out.println("Lowest points : Customer "+setlowest(p));
}
public static void setp(double[] num, double[] p)
{
for(int i=0;i<p.length;i++)
{
if(num[i]>=1 && num[i]<=3)
p[i] = 10;
else if(num[i]<=6)
p[i] = 25;
else if(num[i]<=9)
p[i] = 40;
else
p[i] = 75;
System.out.println("Customer #"+(i+1)+ " = " + p[i] + " points");
}
}
public static double settotalbook(double[] num)
{
double total=0;
for(int i=0;i<num.length;i++)
{
total+=num[i];
}
return total;
}
public static double sethighest(double[] p)
{
double max=p[0], custnum=0;
for(int i=0;i<p.length;i++)
{
if(p[i]>max)
max=p[i];
custnum=i;
}
return (custnum+1);
}
public static double setlowest(double[] p)
{
double min=p[0], custnum=0;
for(int i=0;i<p.length;i++)
{
if(p[i]<min)
min=p[i];
custnum=i;
}
return (custnum+1);
}
}
import java.util.Scanner;
公共类Lab3bq1
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
double[]num=新的双精度[10];
double[]p=新的double[10];
System.out.println(“输入购买的图书数量:”);
对于(inti=0;i,两种方法中的if块都存在问题
尝试:
存储具有最小值或最大值的客户编号。看起来您是初学者。无论如何,您应该按照@Uta Alexandru的建议,在sethighest方法中返回max,在setlower方法中返回min
代码中还有一个错误。每当我们编写类似
if(condition)
statement#1
statement#2
所以,如果条件为true,则只有语句#1将执行,而语句#2则不符合条件
这里是您编写的代码
if(p[i]>max)
max=p[i];
custnum=i;
及
及
if(p[i]你应该在sethighest方法中返回max,在setlowest方法中返回min…我知道,但我的问题是让我返回哪个客户的价值最大。使用BubbleSort或any,一旦你进行了排序,然后选择第一个和最后一个元素如果这是你问题的解决方案,请将其标记为已接受的答案,以便其他人不要浪费时间进行分析分析同一问题:)
if(condition)
statement#1
statement#2
if(p[i]>max)
max=p[i];
custnum=i;
if(p[i]<min)
min=p[i];
custnum=i;
if(p[i]>max) {
max=p[i];
custnum=i;
}
if(p[i]<min) {
min=p[i];
custnum=i;
}