第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我的陣列的一些問(wèn)題

我的陣列的一些問(wèn)題

不負(fù)相思意 2021-06-28 17:53:00
我的講師給了我這些問(wèn)題:1. 編寫(xiě)一個(gè)程序來(lái)執(zhí)行以下操作:a. 從用戶 (n)b獲取學(xué)生人數(shù)。要求用戶輸入 n 個(gè)學(xué)生的 n 個(gè)成績(jī),將它們存儲(chǔ)在一個(gè)數(shù)組中。C。打印出這 n 個(gè)等級(jí)的最大值、最小值和平均值。注意:編寫(xiě)3個(gè)方法來(lái)返回?cái)?shù)組的最大/最小/平均元素并在本程序中使用它們。我嘗試這樣做,但我的程序的輸出不符合我的預(yù)期。這是我的代碼:package javaapplication2;import java.util.*;public class JavaApplication2 {    public static double max(double[]x) {        int i = 0;        int max=0;        for (i=0; i < x.length; i++) {          if (max < x[i]) {            max = i;          }                 }        return max;        }    public static double min(double[]y) {        double min = max(y);        for (int i =0; i < y.length; i++) {            if (y[i] < min) {                min = y[i];            }        }return min;    }    public static void main(String[] args) {        String name ="";        String choice;        int times =0;        double score;          Scanner input = new Scanner(System.in);         System.out.println("Enter student's name: ");        name = input.nextLine();        while (name != "exit") {            double grades [] = new double [5000];            System.out.println("Enter student's score: ");            score = Double.parseDouble(input.nextLine());                        grades[times] = score;                        times += 1;                        System.out.println("The max grade is: " + max(grades));            System.out.println("The min grades is: " + min(grades));            System.out.println("Enter student's name: ");            name = input.nextLine();               }    }}這是我的輸出:Enter student's name: kEnter student's score:30The max grade is: 0.0The min grades is: 0.0Enter student's name:是的,我不知道為什么我的最高等級(jí)和最低等級(jí)是 0.0。哪位大俠幫幫我,謝謝?。?!
查看完整描述

2 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊

在計(jì)算最大值的函數(shù)中,您應(yīng)該使用:

if (max < x[i]) {
    max = x[i];}

因?yàn)槟阆敕祷卦囟皇撬乃饕4送?,您可能希?code>grades在 while 循環(huán)之前聲明您的數(shù)組,否則它會(huì)在每次迭代時(shí)創(chuàng)建一個(gè)新數(shù)組。

為了提高代碼性能:

1.你可以在你的 max/min 函數(shù)中,一旦遇到 value=0 就退出循環(huán)。在您當(dāng)前的代碼中,即使只有一個(gè)條目,循環(huán)也會(huì)迭代 5000 次。

2.在你的min函數(shù)中,double min = max(y);你應(yīng)該使用double min = Double.MAX_VALUE;. 它將防止不必要的max函數(shù)調(diào)用。


查看完整回答
反對(duì) 回復(fù) 2021-07-07
  • 2 回答
  • 0 關(guān)注
  • 333 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)