課程
/后端開發(fā)
/Java
/Java入門第一季(IDEA工具)升級版
為什么數(shù)組中的最小值:20,而不是4呢?數(shù)組中一一遍歷后應(yīng)該會得到最小值為4不是嗎?
2015-12-13
源自:Java入門第一季(IDEA工具)升級版 6-6
正在回答
如果沒有取道最小值4,說明你的代碼寫錯了。
有兩種方案來取最小值:
1、在循環(huán)中假定一個最小值,有比這個最小值還小的,就更新這個最小值;然后循環(huán)完畢之后,最小值就出來了。
2、還有一個偷懶的方法,就是先把數(shù)組升序排序,然后取出數(shù)組的第一個元素,就肯定是最小值。
qq_酒千觴夢終醒_0 提問者
第二個if條件后面多了一個 ? ?; ? 刪除即可
我對過代碼了,貌似并沒有錯,可是不懂為什么就是得不到最小值
是王小二呀
public class HelloWorld {
? ??
? ? public static void main(String[] args) {
? ? ? ??
// 定義一個整型數(shù)組,并賦初值
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
int max = nums[0]; // 假定最大值為數(shù)組中的第一個元素
int min = nums[0]; // 假定最小值為數(shù)組中的第一個元素
double sum = 0;// 累加值
double avg = 0;// 平均值
for (int i = 0; i < nums.length; i++) { // 循環(huán)遍歷數(shù)組中的元素
? ? ? ? // 如果當(dāng)前值大于max,則替換max的值
if(nums[i]>max)
? ? ? ? {
? ? ? max=nums[i];
}
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ? if(nums[i]<min);
? ? ? ? ? ? min=nums[i];
? ? ? ? }
? ? ? ? // 累加求和
? ? ? ? sum=sum+nums[i];
? ? ? ? avg=sum/nums.length;
? ? ? ? // 求平均值
? ? ? ?
? ? ? ? System.out.println("數(shù)組中的和為:"+sum);
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
舉報
0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語法開始
2 回答用for怎么得到數(shù)組中的最小值,
2 回答自主取值求五個數(shù)中最大最小平均值
2 回答哪里錯了啊,為啥最大值和最小值都等于數(shù)組里最后一個值,且最大值最小值相等
2 回答for循環(huán)中第一個數(shù)和最大值最小值的比較
2 回答數(shù)組求均值
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-12-13
如果沒有取道最小值4,說明你的代碼寫錯了。
有兩種方案來取最小值:
1、在循環(huán)中假定一個最小值,有比這個最小值還小的,就更新這個最小值;然后循環(huán)完畢之后,最小值就出來了。
2、還有一個偷懶的方法,就是先把數(shù)組升序排序,然后取出數(shù)組的第一個元素,就肯定是最小值。
2015-12-13
第二個if條件后面多了一個 ? ?; ? 刪除即可
2015-12-13
我對過代碼了,貌似并沒有錯,可是不懂為什么就是得不到最小值
2015-12-13
public class HelloWorld {
? ??
? ? public static void main(String[] args) {
? ? ? ??
// 定義一個整型數(shù)組,并賦初值
int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };
? ? ? ??
int max = nums[0]; // 假定最大值為數(shù)組中的第一個元素
int min = nums[0]; // 假定最小值為數(shù)組中的第一個元素
double sum = 0;// 累加值
double avg = 0;// 平均值
? ? ? ??
for (int i = 0; i < nums.length; i++) { // 循環(huán)遍歷數(shù)組中的元素
? ? ? ? // 如果當(dāng)前值大于max,則替換max的值
if(nums[i]>max)
? ? ? ? {
? ? ? max=nums[i];
}
? ? ? ??
? ? ? ? // 如果當(dāng)前值小于min,則替換min的值
? ? ? ? if(nums[i]<min);
? ? ? ? {
? ? ? ? ? ? min=nums[i];
? ? ? ? }
? ? ? ??
? ? ? ? // 累加求和
? ? ? ? sum=sum+nums[i];
? ? ? ??
? ? ? ??
}
? ? ? ? avg=sum/nums.length;
? ? ? ? // 求平均值
? ? ? ?
? ? ? ? System.out.println("數(shù)組中的和為:"+sum);
System.out.println("數(shù)組中的最大值:" + max);
System.out.println("數(shù)組中的最小值:" + min);
System.out.println("數(shù)組中的平均值:" + avg);
}
}