使用JAVA如何去生成大量16位的并且是顺序递增的数字串?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用JAVA如何去生成大量16位的并且是顺序递增的数字串?相关的知识,希望对你有一定的参考价值。
我需要生成大量的长度为16位或者更长的有序递增的由数字组成的字符串,谁能帮帮忙?我要用来处理唯一数据标识。是数字的,递增的。
参考技术A 用一个转化字符串的方法即可 看下面的例子int count = 一个数;
String salSeqNo = String.format("%016d",count);
以上可以试一试追问
嗯 很有启示,谢谢
本回答被提问者采纳 参考技术B 你定义一个string str = "0000000000000000";然后弄出那个递增的数字。然后截取这个数字的长度,
数字也转换成字符串 str1
然后是substring(str+str1,str1.length(),16); 参考技术C String salSeqNo = String.format("%016d",count);
如何在 C++ 中按递增顺序绘制球体网格?
【中文标题】如何在 C++ 中按递增顺序绘制球体网格?【英文标题】:How to draw a grid of spheres in increasing order in C++? 【发布时间】:2017-09-24 01:29:58 【问题描述】:我一直在尝试按半径递增的顺序绘制球体网格(上面的图片链接),但是我尝试过的所有循环都失败了。我做了下面的循环,因为我认为对于 x 的一个值,y 值会递增并完全绘制,然后 x 会递增并重复整个过程。但那是行不通的。我应该做出哪些改变?
'a'是一个属于类的变量,包含球体的坐标和半径。
a.x = -500, a.y = -500, a.z = 0, a.r=0;
for (int i = 0; i < 500; i++, a.x += 30, a.r++)
for (int j = 0; j < 10; j++, a.y += 30, a.r++)
drawSphere(a.x + (2 * a.r), a.y, a.z, a.r);
【问题讨论】:
了解drawSphere
的作用以及您应该如何使用它会有所帮助。为什么不专注于独立于drawSphere
调用而正确获取数据?
"drawSphere(double x, double y, double z, double r)" 前三个是坐标,第三个是半径。该函数使用给定的数据绘制一个球体。
那么您应该正确使用它,但我认为您的方法是错误的,您从未在每个循环中重置 y
。为什么不去掉a
,它是混乱的根源,并计算x
、y
和r
作为i and
j的函数?
我不明白“使用'a'作为'i'和'j'的fn.”
【参考方案1】:
导出值而不是试图操纵某种计数器:
for (int i = 0; i < 500; i++)
for (int j = 0; j < 10; j++)
drawSphere(a.x + i * 30, a.y + j * 30, a.z, a.r + i + j);
“作为函数”是一个数学术语,表示您需要的 x
的最终值可以从 a.x
和 i
值计算出来,无需其他输入。这里是有效的:
x = a.x + i * 30
【讨论】:
我做到了。它使代码更简单,但输出仍然不是所需的输出。 我想通了。谢谢。以上是关于使用JAVA如何去生成大量16位的并且是顺序递增的数字串?的主要内容,如果未能解决你的问题,请参考以下文章