java这个java date 最小值值为什么输出一直都是0

编写程序,接收10数并求10个整数组成的数组中的最小值.可是我的代码为什么最小值一直都是0_百度知道
编写程序,接收10数并求10个整数组成的数组中的最小值.可是我的代码为什么最小值一直都是0
import java.util.S
public class zhuixiao{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int[] score=new int[10];
int min=score[0];
for(int i=0;i&score.le...
我有更好的答案
java中数组默认初始化值全是0,Score【0】需要设置成一个比较大的数。如果像你现在这样的话,输入一个负数,输出的最小值就不是0了
采纳率:42%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。关于JAVA用循环输入一批整数,输出其中最大和最小值,输入数字0就结束循环,请问该如何解决?谢谢_百度知道
关于JAVA用循环输入一批整数,输出其中最大和最小值,输入数字0就结束循环,请问该如何解决?谢谢
提示:声明变量max和min,分别记录最大和最小值。
将用户输入的数字num和上面2个变量比较,使得max始终保存当前最大值,min保 存当前最小值。
我有更好的答案
//用不着那么复杂,直接看代码import java.io.*;public class MaxAndMin{ public static void main(String[] args) throws Exception{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int x = Integer.parseInt(reader.readLine());
while(x!=0){
if(max&x) max =
if(min&x) min =
x = Integer.parseInt(reader.readLine());
System.out.println(&max:&+max+&min:&+min); }}
大哥你写的什么·我完全看不懂··
运行下试试啊,从控制台读取数字,如果不是零,则继续读取,直到遇到零止,最后将最大值和最小值输出.再补充一下。BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));//从控制台读取数据int x = Integer.parseInt(reader.readLine());//将读取的数据转化为整型int max =int min =//初始化最大值最小值while(x!=0){
if(max&x) max =
if(min&x) min =
x = Integer.parseInt(reader.readLine());}//循环读取数据,max始终保存最大值,min始终保存最小值//输入0终止循环System.out.println(&max:&+max+&min:&+min);//输出最大值最小值
采纳率:10%
1.定义一个数组或则链表,保存你输入的这批整数;2.用冒泡算法找出最大值和最小值,并用max和min保存当前最大最小值;至于输入0结束,很好弄啊,每接受一个值判断一下是不是0,要是0就停止。
小哥,你没有看清楚题,我们书上这样要求不用数组和什么冒泡
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。public class MaxMin{
public static void main(String[] args) {
int[] arr = new int[6];
Scanner input = new Scanner(System.in);
for (int i = 0; i & arr. i++) {
System.out.println("请输入第" + (i + 1) + "个数字:");
int number = input.nextInt();
int sum = 0, min = arr[0], max =
for (int i = 0; i & arr. i++) {
sum += arr[i];
if (min & arr[i]) {
min = arr[i];
if (max & arr[i]) {
max = arr[i];
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
阅读(...) 评论()JAVA 为什么min输出总是0呢??_百度知道
JAVA 为什么min输出总是0呢??
import java.io.*;
public class EX3_10 {
public static void main(String args[]){
int ch[] = new int[10];
int max=0,min = 0,i;
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
我有更好的答案
因为min的初值为0,你多半输入进去的全是正数,正数都比0大,if(ch[i]&min)min=ch[i];所以这第语句都没执行,min的值当然是0了
那要怎么改呢?
把十个数都输进去以后,你把最大值和最小值都设成第一个输入的值(其它十个中任意一个都可以),O了
采纳率:46%
可以改成这样for(i=0;i&10;i++)
ch[i]=Integer.parseInt(reader.readLine());
max =ch[i];
min=ch[i];
if(max&ch[i]){max=ch[i]};
if(min&ch[i]){min=ch[i]};
因为你上面的min = 0呢
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
min的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。这个简单的JAVA小问题,求大佬解答!_百度知道
这个简单的JAVA小问题,求大佬解答!
这个简单的JAVA小问题,求大佬解答!这条语句,为什么不能执行,有没有它都一样,怎么才能让他发挥自己的作用。
我有更好的答案
因为你的max和min都是等于0,+max-min相当于没有变化。图片有点不清晰,看起来是这样,如果是求平均分的话,不需要sum1这个变量,也不需要定义a这个数组。double&sum&=&0;for(int&i&=&0;&i&&&10;&i++){&&&&sum&+=&scanner.nextDouble();}System.out.println(&平均分为:&&+&(sum&/&10));如果需要得到最大值和最小值double&sum&=&0;double&max&=&0;double&min&=&0;double&tmp&=&0;for(int&i&=&0;&i&&&10;&i++){&&&&tmp&=&scanner.nextDouble();&&&&if(tmp&&&max){&&&&&&&&max&=&&&&&}&&&&if(tmp&&&min){&&&&&&&&min&=&&&&&}&&&&sum&+=&}System.out.println(&平均分为:&&+&(sum&/&10));System.out.println(&最大值为:&&+&max);System.out.println(&最小值为:&&&+&&min);
那个tmp是什么,用数组不也一样吗,还有,我最后让求去掉一个最大值和一个最小值,怎么写
变量tmp是每次接收控制台输入的分数。double&avg&=&(sum&-&max&-&min)&/&10;//就得到去掉最大值和最小值后的平均分了用数组确实也可以,但是存储了许多无用的数据,并不是说不能用。
这个,为什么最小值输出一直都是0?
我使用的代码和你的代码都出现了一个BUG,以你的代码为例,修改如下:double&min&=&-1;//...省略若干代码if(min&&&a[j]&||&min&==&-1){&&&&//第一次的时候min为-1,给它设置第一个分数&&&&min&=&a[j];}//...省略或者在你的两个循环中间给min赋一个初始值,条件判断用大于和小于就行了,都不要加上等于//第一个for循环代码min&=&a[0];//第二个for循环代码//看了其他网友的回答,最后求平均分的时候应该是要用录入的分数数量(10)减掉最大值和最小值,等于8
代码修改如下:import&java.util.Spublic&class&zbx&{&&&&public&static&&void&main(String[]&args){&&&&&&&&System.out.println(&kkk&);&&&&&&&&double[]&a=&new&double[10];&&&&&&&&double&sum&=&0;&&&&&&&&double&max&=&0;&&&&&&&&double&min&=&100;&&&&&&&&double&sum1&=&0;&&&&&&&&Scanner&sc&=&new&Scanner(System.in);&&&&&&&&System.out.println(&输入10个分数&);&&&&&&&&for(int&j=0;j&10;j++)&&&&&&&&{&&&&&&&&&&&&a[j]=&sc.nextDouble();&&&&&&&&&&&&if(max&a[j])&&&&&&&&&&&&&&&&max=a[j];&&&&&&&&&&&&if(min&a[j])&&&&&&&&&&&&&&&&min=a[j];&&&&&&&&&&&&sum+=a[j];&&&&&&&&}&&&&&&&&sum1&=&sum-max-&&&&&&&&System.out.println(&去掉最高&&+&max&+&&,最低分&+min+&,&平均分为&+sum1/8);&&&&}}运行截图:
先赋值在运算 把a[j]=scanner.nextDouble();这句提 到两个判断前。
for(int j=0;j&10;j++){a[j] = scanner.nextDouble();if(max&a[j]) {max=a[j];}if(min&a[j]) {min=a[j];}sum+=a[j];}sum=sum-max-System.out.println(&去掉最高最低分后的平均分为:&+sum);System.out.println(&最大:&+max);System.out.println(&最小:&+min);}}
这个最小值为什么输不出来
逻辑没有问题了 ,就看你输入的最小值 是否小于 初始化的0 如果不是 最小值肯定是0 啦。
a[j] = scanner.nextDouble();写到循环第一行
代码看不清,百度知道里面,可以直接发代码的,看你的代码结构是会走那一行的。
其他4条回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 java求最大值和最小值 的文章

 

随机推荐