我正在学习Java并使用Java编程书。我达到他们教我关于阵列的程度。
因此,我创建了一个Array,它接受非特定数量的命令行参数,并将其与books代码相结合,以打印出该数组中的最大值。它完美地运作......很棒......
但我的问题是,NEGATIVE_INFINITY究竟是什么?是否有类似的东西用于打印数组的最小值?
干杯
INSERT INTO "ProjectFields" ("projectId", name, type, "isDefault")
SELECT "projectId", 'Notes', 'textarea', true FROM "Projects"
UNION ALL
SELECT "projectId", 'Bio', 'textarea', true FROM "Projects"
UNION ALL
SELECT "projectId", 'Photo', 'text', true FROM "Projects";
--As you asked, using only one SELECT on Projects (but using a CTE)
--But I didn't recommend this solution, why increase complexity of a query just to avoid the 3 SELECTS?
INSERT INTO "ProjectFields" ("projectId", name, "isDefault")
WITH tmp (proj_id, field_name, is_default) AS (
SELECT "projectId", UNNEST(ARRAY['Notes','Bio', 'Photo']), true FROM "Projects"
)
SELECT proj_id, field_name, CASE field_name WHEN 'Notes' THEN 'textarea' WHEN 'Bio' THEN 'textarea' ELSE 'text' END,is_default FROM tmp;
--Or perhaps in a more cleaner way as stated by @Marth:
INSERT INTO "ProjectFields" ("projectId", name, "isDefault")
SELECT * FROM projects, (VALUES ('notes', 'textarea'), ('bio', 'textarea'), ('Photo', 'text')) AS t(name, "type");
答案 0 :(得分:3)
在IEEE 754格式中,浮点数有三个部分。符号位,指数和尾数。第一位是符号位,在这种情况下区分正负无穷大。两个无穷大使所有指数位都打开,尾数位为零。计算数字的方法是尾数乘以2 ^指数。基本上它们是可能的最高值,前导位区分正面和负面。
我会做类似的事情来找到分钟
double minVal = Double.POSITIVE_INFINITY;
for (int i = 0; i < array.length; i++) {
if (array[i] < minVal) {
minVal= array[i];
}
}
答案 1 :(得分:0)
您可以使用它来查找最小值
WHERE TRANSACTION_ID IN (SELECT ids FROM @tranId)
编辑:这是整个代码:
minValue = array[0];
for (int i = 0; i < array.length; i++) {
if (array[i] < minValue) {
minValue = array[i];
}
}
答案 2 :(得分:0)
EGATIVE_INFINITY = -1.0D / 0.0;
来自文档:
持有double类型的负无穷大的常量。它等于Double.longBitsToDouble(0xfff0000000000000L)返回的值。
计算机本身不能代表无限数字,因为它具有有限的内存。例如,double类型在8位内存中表示其数据是有限的,这意味着它可以存储有限数量的数字:)。将此常量值视为保持可以在计算机中表示的最小可能的双数。