我发布了一个问题已经有一段时间了!基本上我在Java大学开始一个新项目!基本上我需要的是生成一个对象来存储它们内部的项目。这包括产品代码,项目名称,价格等。基本上对于产品代码,我负责决定产品的长度,但必须以字母而不是数字开头。我想的是6个字符。但是,如何告诉Java将第一个字符保留为字母而不是数字?
备受好评:D
答案 0 :(得分:2)
public String getProductCode(){
Random random = new Random();
int first = random.nextInt(26) + 65; //Get random ASCII code in letter range
char firstChar = new Character((char) first); //Convert to char
int suffix = 10000 + random.nextInt(89999); //Get 5 digit suffix
return Character.toString(firstChar) + String.valueOf(suffix);
}
答案 1 :(得分:1)
将它们分别存储在一个对象中,并将该组合返回到另一个getter
中public class Product {
protected char id;
protected int code;
public String getFullcode() {
return id + code.toString();
}
//regular getters and setters
}
答案 2 :(得分:1)
尝试类似这样的事情,这很糟糕,但你明白了这一点:
import java.util.Random;
public class foo {
public static void main(String args[]) {
String chars = "abcdefghijklmnopqrstuvwxyz0123456789";
Random r = new Random();
int limit = 5;
StringBuffer buf = new StringBuffer();
buf.append(chars.charAt(r.nextInt(26)));
for (int i = 0; i < limit ; i++) {
buf.append(chars.charAt(r.nextInt(chars.length())));
}
System.out.println(buf);
}
}
答案 3 :(得分:0)
只需制作两个不同的随机变量,一个选择随机字母,另一个选择随机字符。然后以明显的方式添加它们。希望这有帮助
答案 4 :(得分:0)
public static void main(String[] args) {
//random arrays
String[] randomLetters = {"a", "b", "c", "d", "e", "f", "g", "h", etc...}
String[] randomNumbers = {"08724 ","13876 ","29238 ","37534 ","40182 ","57532 ","69273 ", etc...};
//chooses random element from the letters
Random r = new Random();
int randl = r.nextInt(8);
String randomLetter = randomLetters[randl];
//chooses random element from the numbers
Random a = new Random();
int randn = a.nextInt(7);
String randomNumber = randomNumbers[randn];
//turns into one string and presents it
String str1 = randomLetter + randomNumber;
System.out.print(str1);
}
}
我不知道这是不是你想要的 - 这是一次性的事情。我只是想以简单的形式做到这一点。