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