在这个代码中,-20应该是最小值,因为它是负数,并且离零最远,正确吗?但当我运行MinAlgoritm时,会打印出整数5。我有一个最大版本的这个可以很好地工作,但这个不行。这怎么可能?我能做些什么改进吗?
class MinAlgorithm
{
public static void main ( String[] args )
{
int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ;
int min;
// initialize the current minimum
min = array[0];
// scan the array
for ( int index=0; index < array.length; index++ )
{
if (array[index]<min);
min=array[index];
}
// Print out the result
System.out.println("The minimum of this array is: " + min );
}
}
尝试以下操作:)
class MinAlgorithm
{
public static void main ( String[] args ){
int[] array = { -20, 19, 1, 5, -1, 27, 19, 5 } ;
int min;
// initialize the current minimum
min = array[0];
// scan the array
for ( int index=0; index < array.length; index++ ){
if (array[index]<min){
min=array[index];
}
}
// Print out the result
System.out.println("The minimum of this array is: " + min );
}
}
因此,您的代码无法正常工作”在if之后
从行中删除分号if(数组[索引]
改变
if (array[index]<min);
^
min=array[index];
到
if (array[index]<min)
min=array[index];
您的额外费用;结束if语句,somin=数组[索引]
问题内容: 任何数据类型的上限(不包括)总是比下限的绝对值小1。 例如,an的上限为2,147,483,647,ABS(下限)= 2,147,483,648。 是否有理由总是总是比负整数多一个负整数? 编辑:更改,因为问题与数据库不直接相关 问题答案: 您提供的类型是有符号整数。让我们来看一个字节(8位)的示例。使用1字节,您可以使用组合来存储256个可能的数字。 现在,您要具有相同数量的正数和负
问题内容: -1 / 5整数除法应该返回什么?我对此行为完全感到困惑。我认为数学上应该为0,但是python和ruby返回-1。 为什么不同的语言在这里表现不同?请有人解释。谢谢。 问题答案: 简短的答案: 语言设计者可以选择在进行整数除法时,其语言是四舍五入为零,负无穷大还是正无穷大。不同的语言做出了不同的选择。 长答案: Python和Ruby的语言作者都认为向负无穷大舍入比向零四舍五入更有意
这感觉是个愚蠢的问题,但我在Java文档中的任何地方都找不到答案。如果我声明两个int然后将它们除法,到底发生了什么?它们是先转换为,然后进行除法,然后再转换为,还是将除法“完成”为整数? 此外,纯粹从实验来看,整数除法似乎使答案接近零(即和)。我相信这是对的吗?
基本上,当用户输入一个数字列表(当用户输入0时停止)时,输出将告诉最小整数、奇数整数和和负整数计数。我对负数的计数是正确的,但我遇到的问题是,奇数的和只有当数为正时才相加,最小整数总是为0。这是我的密码
问题内容: public class Test { 在第二个输出中,我认为整数范围已过,但是为什么要给出数字,它需要给我一个错误,这种行为的原因是什么? 提前致谢… 问题答案: 您溢出了32位整数的大小。 考虑当我等于10时会发生什么: 但是可以存储在32位整数中的最大正数仅为20亿左右(2个带有9个零)。 实际上,情况变得更糟!中间计算将以有限的精度执行,并且一旦10 * 10 * 10 * 1
我的目标是了解两者的互补性。 有符号整数中的等于。但是,如果您使用十六进制的或十进制的按位与它,它将等于。 在我看来,这不应该发生,因为顶部字节与结果字节相同 我的预期结果是该值不应该改变,它等于< code>-121。 我的实际结果是值发生变化。 我的猜测是,是一个。因此,顶部字节的有符号位和下部字节的无符号位将导致无符号位。但是......那不可能是对的。