gpt4 book ai didi

java - 无法使用 Java 将 int 转换为 char

转载 作者:行者123 更新时间:2023-12-01 16:55:27 25 4
gpt4 key购买 nike

我的任务是生成一个 1 到 26 之间的随机数,然后将该数字转换为从“a”到“z”的字母。随机生成部分看起来不错,但是当我尝试将数字转换为字符时,我只会得到一个空的方形盒子!这是为什么?

    import java.util.Random;
public class NumbersToLetters
{
public static void main(String[] args)
{
Random n;
int num;
n=new Random();
//generating a random number from 1 to 26
num=Math.abs(((n.nextInt())%26)+1);
//cast from int to char
char myChar = (char) num;
System.out.println ("Number - " + num);
System.out.println ("Char - " + myChar);

//I'm sure that my answer is right but no matter what I do,
//it won't output a letter, all I get is a square-like box..
}
}

最佳答案

您将生成一个介于 1 到 27(含)之间的数字。如果你看what those characters correspond to ,您会发现它们实际上都不可打印。

您应该使用 + 'a' 而不是 + 1 进行计算

n.nextInt(26) + 'a';

这将为您提供正确的偏移量(恰好是 97)来查找小写字母。

关于java - 无法使用 Java 将 int 转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33586575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com