在Java

时间:2016-11-08 01:06:50

标签: java casting char int

我一直在尝试将一个字符'F'附加到一个java程序中的int为1但是当我这样做时输出是71.我知道它使用的是F的值为70的ASCII值,然后添加1 71.但是,我尝试了不同的类型转换尝试,但不能让它产生1F而不是71?任何和所有的帮助表示赞赏。

我的代码如下:

    public boolean enqueue(int item){

    int first = (char) 'F';
    int comb = (char) (item + first);
    if(currentSize[0] < 6 || currentSize[1] < 6 || currentSize[2] < 6){

        if(currentSize[0] <= currentSize[1] && currentSize[0] <= currentSize[2]){
            Customers[0][back[0]] = comb; //code I am trying to get to produce 1F
            back[0]++;
            currentSize[0]++;
            if (currentSize[0] == 6)
                back[0] = 0;
            else if(back[0] == 6)
                back[0] = 0;
            }

- 麦克

5 个答案:

答案 0 :(得分:2)

一种可能的解决方案是将整数转换为字符串,然后再将它们组合为Carcigenicate。

这看起来像

int item = 1;
char first = 'F';
String comb = Integer.toString(item) + first;

答案 1 :(得分:0)

我认为这可能会有所帮助。 首先,您不必将'F'字符强制转换。

Sencond,将变量梳子的类型更改为String。

这是代码。

int first = 'F';
int item = 1;
String comb = item + Character.toString((char)first);
System.out.println(comb) // 1F

答案 2 :(得分:0)

目前还不完全清楚你想要什么,但我希望这有点帮助:

int变量只能保存数字值而不能保存字符。 char(字符)基本上也包含数值。 char是0到255之间的值(1个字节)。但这些数字代表特定的符号。你应该看一下ASCII-table

如果你想在一个变量中保存“1F”,你应该使用一个字符串,或者如果你想坚持使用字符,那就取一个char数组。

e.g:

public boolean enqueue(int item){

    char    first   =   'F';
    String  comb    =   String.valueOf(item) + first;
    //After this comb is: "1F" if item is 1

    ...

答案 3 :(得分:0)

您可以使用以下代码获得所需的结果。

public class Question02 {

    public static void main(String[] args) {
        enqueue(1);
    }

    public static void enqueue(int item) {
        char first = 'F';
        String comb = new Integer(item).toString().concat(new Character(first).toString());
        System.out.println(comb);
    }
}

答案 4 :(得分:-2)

我并不完全知道你想要实现的目标,但如果你已经尝试过铸造和填充物,为什么不制作字符串并将其连接起来?