在列表中分配ASCII字符A-Z

4

我需要从ASCII中获取A-Z的字符并将其分配到字符串数组或列表中,然后循环遍历它。除了 String[] Asci= {"A","B","C","D","E","F".....etc),还有什么方法可以获取ASCII字符并将其分配到其他数组中呢?


1
你已经尝试过什么?(http://mattgemmell.com/2008/12/08/what-have-you-tried/) - Buhake Sindi
找不到任何东西,所以才提出这个问题。想过硬编码,但这不是一个好的做法。 - Akshar A K
6个回答

4
List <String> ascii = new ArrayList <String> (26);

for (char c = 'A'; c <= 'Z'; c++)
    ascii.add (String.valueOf (c));

2
逗号应该改为分号。 - HaveAGuess

1
在Unicode中(与Java字符串一起使用),从A到Z的字符构成连续序列,因此可以使用循环。但是,'A'并不是第一个Unicode字符。可以以通用方式实现此操作,而不必假设字符代码,并且只需假定A到Z是一个没有其他代码的序列。
char values[] = new char['Z'-'A'];

int i = 0;
for (char c='A'; c<='Z'; c++)
  values[i++] = c;

1
应该是 'Z' - 'A' + 1 -> 26 个元素。 - deadfish

0
使用Java 8的流 -
List<String> alphas = IntStream.range((int) 'A', (int) 'Z').boxed()
            .map(i -> Character.toString ((char) i.intValue()))
            .collect(Collectors.toList());

0

可以试着这样做:

它将存储前256个ASCII字符

for (int i=0; i<256; i++){
  char temp = i;
  values[i] = temp;
}

0
public static void main(String[] args)
{
    String alpha[] = new String[26];
    for (char c = 65; c <= 90; c++)
    {
        alpha[c - 65] = String.valueOf(c);
    }

    for (String s : alpha)
    {
        System.out.println(s);
    }
}

0

看这个......

public class Alphabet {
public Alphabet() {
for ( int i = 65; i < 91; i ++ ) {
System.out.println("Upper Case\n"+(char)i + " " + (char)(i+32));
}
}
public static void main(String [] args) {
new Alphabet();
}
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接