错误在于最后两段代码是相同的。如果你写两个“max”,你会得到与最大值和最小值相同的结果。
只需将最后一个“max”改为“min”,程序如下:
publicclassa{
publicstaticvoidmain(stringargs}]{
inta[]={84,40,16,3,10,49,28,76,94,70}]intn
intmin=a[0
]inti
intmax=a[0
]表示(n=0n<=9n){
]if(max<a[n])
max=a[n
}]表示(i=0i<=9i){
if(min>a[i])
min=a[i
}系统打印(“max=”max)系统打印(“min=”min)
}]}
扩展数据:
最简单查找最大值和最小值的程序:
publicclassa{
publicstaticvoidmain(字符串参数[
{
inta[]={84,40,16,3,10,49,28,76,94,70}java.util.arrays数组.排序(a)系统打印(“max=”a[a.length-1])系统打印(“min=”a[0])]}
自然语言描述计算两个非负整数p和q的最大公约数:如果q为0,则最大公约数为p。否则,将p除以q得到余数r。p和q的最大公约数是q和r的最大公约数。java代码公约数
publicstaticintgcd(intp,intq){如果(q==0)返回pintr=p%q返回gcd(q,r)}]公倍数是两个数除以最大公约数的乘积。公共静态intg(intp,intq){返回p*q/gcd(q,r)}