Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到最高值和最低值_Java - Fatal编程技术网

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;
}