我需要一个java方法,它接受一个整数,然后将其递增并为您提供相应的alpha字符。类似于这样:
public String getAlpha(Integer number) {
...
}
因此,如果我传递number
value等于0
,那么它应该递增并返回字母a
。如果我传递它25
,那么它应该返回字母z
。如果我将数字26
传递给它,那么它应该返回aa
。如果我将数字27
传递给它,那么它应该返回ab
等等。
alpha几乎模拟了excel工作表列的表示方式,我需要做的就是通过传递一个数字从方法中获取alpha值。除了从getAlpha
返回的字符串之外,没有设置限制必须是最大15
字符和最小1
字符。
它是相同的Excel列命名:
public class Calculator {
private static String[] letters = new String[]{
"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 static void main(String[] args) {
System.out.println(calculate(731));
}
public static String calculate(int row) {
return calculateRecursive(row - 1, "");
}
private static String calculateRecursive(int row, String res) {
String val = letters[row % letters.length] + res;
int i = row / letters.length;
if(row >= letters.length) {
return calculateRecursive(i - 1, val);
}
return val;
}
}
这是如何在Java中从0到25之间的数字生成a-z的:
protected static String getLetter(int code) {
if (code >= 0 && code <= 25)
return "" + (char) (code + 'a');
else
throw new IllegalArgumentException("char code is out of bound: " + code);
}
剩下的就是模数学。
我相信这会满足您的要求,我不知道是否可以更有效地做到:
static void printCode(int code) {
final StringBuilder buffer = new StringBuilder();
do {
final int digit = (code - 1) % 26;
buffer.insert(0, (char)(digit + 'a'));
code = (code - digit - 1) / 26;
} while (code > 0);
System.out.println(buffer);
}
场景是——我读取文件的最后一行,将其递增一行,然后写回。 读写操作已完成。我发现很难增加alpha数值,因为它有一些条件。 条件包括: 它应该只有3个字符长 示例:A01、A02。。。。A99、B01、B02。。。。B99 一旦达到Z99,应为AA1、AA2、AA3。。。AA9 然后AB1,AB2,。。。AZ9 因此,基本上,当递增值时,不应变为AA10,即4个字符 我现在所做的是分离字母和整数,
问题内容: 改善这个问题 我是android编码练习的新手 假设这是我的第一个ID,我希望使用共享的首选项将此值自动递增1并用作员工ID。如ABB20180002,ABB20180003,ABB20180004等。 问题答案: 您不能直接增加字母数字值。如果要这样做,您需要为其编写一些代码行 这是 activity_main.xml 这是 MainActivity.java 希望这会帮助你。
问题内容: 这可能在MySql中吗?我可以有一个以字母为前缀的自动递增主键,例如R1234,R1235,R1236 …等等吗? 问题答案: 您可以做的是将密钥存储为两列。一个char前缀和一个auto-incrementing int,它们都被分组为主键。
问题内容: 我试图弄清楚如何将数组中的一组字母值向下移动一个步骤。例如,我的数组包含值(“ d”,“ e”,“ f”,“ g”,“ h”),而我想将其更改为(“ c”,“ d”,“ e”,“ f” “, “G”)。这是我正在使用的代码: 当我使用正值时,字母会改变;但是,负数似乎根本不起作用。 问题答案: PHP已超载了字符串;并非如此。你可以做同样的事情更清洁的代码,以及: 这是一个演示。请注意
问题内容: 是否可以在MySQL中制作结合了alpha元素和数字的自动增量功能? 我有一个具有QAb99,QAb101,QAd9003等键的现有系统。最大数字部分的范围为1到9999,而字母以QA开头,范围从QAa到QAd等,最终将通过QAd9999到QAe1等。 。 在SQL或SQL外部(例如php脚本)管理生成新密钥是否更好? 谢谢。 问题答案: 我前一阵子问过。不幸的是,Mysql并没有这样
问题内容: Java中的“自动递增”字母-这可能吗?从A到Z而没有第三方库? 问题答案: 是的,您可以这样做: 类型转换也是可能的: