gpt4 book ai didi

java - 基于字符数的短信计数

转载 作者:太空宇宙 更新时间:2023-11-04 12:55:45 26 4
gpt4 key购买 nike

我正在尝试为应用程序创建短信计数器。它在前几次测试运行中运行良好,但突然它的行为不符合应有的方式。

我想要做的是根据 EditText 中输入的字符数获取要发送的短信数量。

0 个字符 = 0(短信计数)
160 个字符 = 1(短信计数)
161 个字符 = 2(短信计数)
320 个字符 = 2(短信计数)
321 个字符 = 3(短信计数)


基本上一条短信可以包含 160 个字符。我在 jsfiddle 上尝试了同样的事情,它工作正常。检查这里 ---> JS Fiddle Link

代码 fragment

我尝试在这里发帖,但只是继续显示代码未格式化错误。请在pastebin上找到代码。

Pastebin Link

LOGCAT

http://pastebin.com/wb1xm7fj

任何帮助将不胜感激

最佳答案

代码中出现问题是因为您在调用 Math.ceil 之前除以 int:161/160 == 1,而不是 1.00625。由于 Math.ceil(1) == 1,调用 Math.ceil 实际上是一个无操作。

对现有代码的简单修复是将除法编写为

msgChar / 160.0

这会强制 msgChar 向上转型为 double 型,因此这会像您预期的那样。

您不需要使用 Math.ceil 将除法结果向上舍入:如果在除法之前将 denominator-1 添加到正分子,结果将向上舍入到下一个整数:

int msgCount = (numChars + 159) / 160;

Ideone demo

关于java - 基于字符数的短信计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35408470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com