如何用java程序输出带角标的字符串?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用java程序输出带角标的字符串?相关的知识,希望对你有一定的参考价值。

比如水的分子式 H2O,其中数字2应该以下角标形式体现。。。

如果用 java 程序输出呢?
找到原因了。我是想用 jsp 在网页上输出带上下角标的字符串。

其实这并不是 java 语言的范畴,而是 html 的特殊标签。

HTML教程:SUB标记与SUP标记(上角标与下角标)

做网站时,如果要在网页上显示一条数学公式,其中有平方等上角也下角标.该如何实现呢.本文为大家介绍二个HTML标记:SUB标记与SUP标记.它们分别实现下标与上标

参考技术A 如果你要用在网页上了话可以用javascript来实现用string.sup或者用string.sub()来实现上下标

如果你要用在桌面程序
那可以考虑用字体来实现。
参考技术B JLabel 里面支持 HTML,下划线什么的都可以写出来,估计脚标也可以的
JLabel test = new JLabel("<HTML><U>Test</U></HTML>");本回答被提问者采纳
参考技术C 你要是在记事本里能写出来,java就能输出来

关于推送的角标的设置

1.下面是极光文档上面写到的,好多同学并未好好的查看(下面我认为是角标相关的设置)

    * @abstract 设置角标(到服务器)

 *

 * @param value 新的值. 会覆盖服务器上保存的值(这个用户)

 *

 * @discussion 本接口不会改变应用本地的角标值.

 * 本地仍须调用 UIApplication:setApplicationIconBadgeNumber 函数来设置脚标.

 *

 * 本接口用于配合 JPush 提供的服务器端角标功能.

 * 该功能解决的问题是, 服务器端推送 APNs 时, 并不知道客户端原来已经存在的角标是多少, 指定一个固定的数字不太合理.

 *

 * JPush 服务器端脚标功能提供:

 *

 * - 通过本 API 把当前客户端(当前这个用户的) 的实际 badge 设置到服务器端保存起来;

 * - 调用服务器端 API 发 APNs 时(通常这个调用是批量针对大量用户),

 *   使用 "+1" 的语义, 来表达需要基于目标用户实际的 badge 值(保存的) +1 来下发通知时带上新的 badge 值;

 */

+ (BOOL)setBadge:(NSInteger)value;(告诉极光我们app下次推送的角标基数)

 

+ (BOOL)setBadge:(NSInteger)value;

 

/*!

 * @abstract 重置脚标(为0)

 *

 * @discussion 相当于 [setBadge:0] 的效果.

 * 参考 [JPUSHService setBadge:] 说明来理解其作用.

 */

+ (void)resetBadge;

 

//这个我认为也是很重要的

/*!

 * @abstract 关闭日志

 *

 * @discussion 关于日志级别的说明, 参考 [JPUSHService setDebugMode]

 *

 * 虽说是关闭日志, 但还是会打印 Warning, Error 日志. 这二种日志级别, 在程序运行正常时, 不应有打印输出.

 *

 * 建议在发布的版本里, 调用此接口, 关闭掉日志打印.

 */

+ (void)setLogOFF;(发布时记得关闭极光打印log的功能)

2.一般小公司的App都会采用比较偷懒的设置角标的方式

就是一点击app进入的时候,就回包通知栏的通知全部清空主要分三个步骤

一般是在这个方法里面

1.[application setApplicationBadgeNunber:0];(清空app的角标)

2.[application cancelLocalNotifcations];(清空通知栏的所有的通知)

3.[JPUSHService resetBadge];(通知极光的服务器角标清空了)

3.如果是大点点的公司就得好好的分析角标的变化过程了

这是我粗略的分析了角标的分析流程

当然这只是给大家一个分析的思路(不同的app还是要根据自己公司的产品的想法来的),如果很乱的话,不妨想我一样画一个流程图

大致考虑的点就是:

1:程序在前台的时候app的角标是不是应该和极光的保持一致

2. 如果是程序的消息二级界面(一般就如此界面的时候这个分类下的消息都相当与已读的状态),如果这时候来的一条消息,要判断是不是此分类下的界面(如果是相当于来的推送消息已经读过了,如果不是这个类型的分类下面,任然是去增加角标)

3.后台进入的时候,判断分类的消息是不是都是已读的状态,如果不是就角标进行-1 ,通知极光-1 通知后台此分类-1即可(当然自己的分类未读个数的计数器还是该加加该减减)

这种实现的难度就是要判断是不是在分类的二级列表下面

建议人力较少的公司直接点击分类中的某个详情界面是,才相当于查看了这条消息

还要考虑的是极光的后台有的时候会挂掉,我们的app必须有角标的自动修复机制,不要影响用户的体验

关于前台后台以及点击通知栏直接进入的状况

点击通知栏进入会走InActive的状态

前台和后台就很好判断了

这里借鉴了某位大神哥的看法(多谢大神分享)

 

以上是关于如何用java程序输出带角标的字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何用JAVA编写程序使能够纵向输出古诗

如何用java程序读取带密码(密码已知)的office文档。

小女子跪求:如何用java实现电话号码查找

JAVA-初步认识-第五章-数组-常见操作-排序的性能问题

如何用记事本写一个java程序并运行

java中如何用程序判断字符串是不是为十进制数