包含java生成13位得递增的词条
本篇文章给大家谈谈java生成13位得递增,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java 在下想生成13个不重复的随机数 求高手找错
- 2、Java程序,控制台随机输出一个13位数,取前12位的奇数位和,和偶数位和,不能运用数组。
- 3、使用JAVA如何去生成大量16位的并且是顺序递增的数字串?
- 4、java 产生递增字符串
- 5、请问java如何生成大量数字英文单词的13位随机数大概5.5亿条只求不重复
Java 在下想生成13个不重复的随机数 求高手找错
你少了一行代码
while (ranCount 13) {
ranTemp = rand.nextInt(13);
for (int i = 0; i ranCount; i++) {
if (ranTemp == ranRecord[i]) {
notExist = false;
}
}
if (notExist) {
ranRecord[ranCount] = ranTemp;
ranCount++;
}
notExist = true; // 漏掉了,不然永远都是false了,要重置回来
}
Java程序,控制台随机输出一个13位数,取前12位的奇数位和,和偶数位和,不能运用数组。
Scanner scan = new Scanner(System.in);
String str = scan.next();
if(str.length() != 13 || str.matches("[a-zA-Z]*")){
System.out.println("输入有误!");
return;
}
int even=0,odd=0;
for(int i=0;istr.length()-1;i++){
if(i%2==0){
odd += Integer.parseInt(String.valueOf(str.charAt(i)));
}else{
even += Integer.parseInt(String.valueOf(str.charAt(i)));
}
}
System.out.println("奇数位和: " + odd);
System.out.println("偶数位和: " + even);
使用JAVA如何去生成大量16位的并且是顺序递增的数字串?
用一个转化字符串的方法即可 看下面的例子
int count = 一个数;
String salSeqNo = String.format("%016d",count);
以上可以试一试
java 产生递增字符串
比如你把你的数据都存在数据库里。
把你们这字符串分为两部分,前面取系统日期(在数据库中的字段为date),后面做一个整型变量(times)。
然后系统日期取出来后,搜索数据库date字段,如果找到了相同相同日期的数据了,就取times字段里最高的数据然后自动加1,如果没找到相同的date字段,就设置为001。
显示输出的时候只要把两个字段的数据转为字符串,整理合并下就可以了。
请问java如何生成大量数字英文单词的13位随机数大概5.5亿条只求不重复
5.5亿条 13个字符 保存成文件都要700-800M,要计算的话很花时间的。试着写了一下,你参考下
由于用了并行框架fork join所以cup越多运行越快,不过生成的文件太大,打开会很慢。
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.ForkJoinTask;
import java.util.concurrent.RecursiveAction;
import java.util.concurrent.TimeUnit;
public class TestForkJoin extends RecursiveAction{
static int ll=0;
static int ai=5;
FileWriter fwr=null;
int[][] s=null;
static String[] array={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
public TestForkJoin(int[][] s,FileWriter fwr){
this.s=s;
this.fwr=fwr;
}
protected void compute() {
if(test()){
ddd(s,fwr);
}else{
for(int i=0;is[0].length;i++){
if(s[1][i]-s[0][i]ai){
int[][] a=new int[2][s[0].length];
int[][] b=new int[2][s[0].length];
for(int p=0;pa.length;p++){
for(int q=0;qa[p].length;q++){
a[p][q]=s[p][q];
b[p][q]=s[p][q];
}
}
a[0][i]=s[0][i];
a[1][i]=(s[0][i]+s[1][i])/2;
b[0][i]=(s[0][i]+s[1][i])/2+1;
b[1][i]=s[1][i];
invokeAll(new TestForkJoin(a,fwr),new TestForkJoin(b,fwr));
break;
}
}
}
}
private boolean test(){
for(int i=0;is[0].length;i++){
if(s[1][i]-s[0][i]ai){
return false;
}
}
return true;
}
private void ddd(int[][] s,FileWriter fwr){
HashMapInteger,String map=new HashMapInteger,String();
StringBuilder sb=null;
int n=0;
int tm=0;
String sss=null;
while(map.entrySet().size()270){
n=0;
tm=0;
sb=new StringBuilder();
for(int m=0;m13;m++){
if(m%2==1){
tm=(int)(Math.random()*(s[1][n]-s[0][n]))+s[0][n];
sb.append(array[tm]);
}else{
tm=(int)(Math.random()*array.length);
sb.append(array[tm]);
}
}
sss=sb.toString();
if(map.get(sss.hashCode())==null){
map.put(sss.hashCode(), sss);
try {
fwr.write(sss+"\r\n");
fwr.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@SuppressWarnings("unchecked")
public static void main(String[] args) throws IOException, InterruptedException{
FileWriter fw=new FileWriter(new File("F://111.txt"),true);
int[][] k={{0,0,0,0,0,0},{array.length,array.length,array.length,array.length,array.length,array.length}};
ForkJoinTask sort = new TestForkJoin(k,fw);
ForkJoinPool fjpool = new ForkJoinPool();
fjpool.submit(sort);
fjpool.shutdown();
fjpool.awaitTermination(12000,TimeUnit.SECONDS);
fw.close();
}
}
关于java生成13位得递增和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。