当前位置: 首页 > 面试题库 >

Java 如何取整整数除法的结果?

雍志新
2023-03-14
问题内容

我在考虑使用C#或Java之类的语言时如何显示分页控件。

如果我有x个项目想要以每页y个块的形式显示,那么需要多少个页面?


问题答案:

Ian提供的整数数学解决方案很好,但存在整数溢出错误。假设变量为all int,则解决方案可以重写为使用long数学运算并避免错误:

int pageCount = (-1L + records + recordsPerPage) / recordsPerPage;

如果recordslong,则错误仍然存​​在。模数解决方案没有错误。



 类似资料:
  • 问题内容: 我是Java新手,正在使用DrJava IDE进行测试。我有以下分区49700/40000,它显示1.0而不是1.2425。 我做错了什么吗? 问题答案: 试试,这代替: 如果两个操作数都是整数,则结果将是将被截断的整数,然后将其强制转换为双精度型。相反,如果其中一个操作数是双精度数,则结果将是双精度数。

  • 问题内容: 这听起来像一个愚蠢的问题,但是我在Java文档的任何地方都找不到答案。如果我声明两个整数然后除以它们,究竟发生了什么?它们是先转换为除法然后再转换为,还是除法为整数? 另外,纯粹从实验来看,整数除法似乎将答案舍入为零(即和)。我相信这一点对吗? 问题答案: 它们被划分为整数运算。因此简单地将整的整数你多少次装配到。还可以给您除法的余数。所以

  • 问题内容: 5年前关闭。 我必须将两个整数相除并得到一个浮点数作为我的代码: 我用调试器检查值 为什么结果为0.0?我应该怎么做才能获得正确的浮动? 问题答案: 当您将两个数相除时,将执行整数除法,在这种情况下,将导致22/64 =0。只有完成此操作后,您才能创建一个。和的表示是。如果要执行浮点除法,则应 在 除法 之前进行 强制转换:

  • 问题内容: 考虑以下代码: 编译产生错误 因为表达式i / j的类型显然是int,因此必须将其强制转换为short。 为什么类型不短? 问题答案: 从Java规范: 5.6.2二进制数值提升 当运算符将二进制数值提升应用于一对操作数时,每个操作数必须表示一个数值类型的值,以下规则按顺序适用,并根据需要使用加宽转换(第5.1.2节)来转换操作数: 如果一个操作数的类型为double,则另一个将转换为

  • 问题内容: 我一直在搜索有关此主题的信息,但仍然听不懂,如果有人可以详细说明,我将非常感激。 我的任务是将两个变量除以整数除以余数。问题是,我不知道余数是什么,现在我做了类似的事情,这是通过互联网搜索得到的: 如果我例如设置(a = 43)和(b = 67) 然后我会得到这个结果: 现在,由于我不知道其余的是什么(这只是来自互联网的建议),所以我不知道这是否是正确的答案。 谢谢你的帮助, 亲切的问

  • 这感觉是个愚蠢的问题,但我在Java文档中的任何地方都找不到答案。如果我声明两个int然后将它们除法,到底发生了什么?它们是先转换为,然后进行除法,然后再转换为,还是将除法“完成”为整数? 此外,纯粹从实验来看,整数除法似乎使答案接近零(即和)。我相信这是对的吗?