好的,这是我的代码:
import java.util.Scanner;
public class CarRental {
public static String model;
public static int letternum;
public static String plate;
public static String letter;
public static int total;
public static String alphabet = "abcdefghijklmnopqrstuvwxyz";
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//System.out.println("Car Model:");
//model = input.nextLine();
System.out.println("License Plate: ");
plate = input.nextLine();
char one = plate.charAt(0);
char two = plate.charAt(1);
char three = plate.charAt(2);
total = one + two + three;
letternum = total % 24;
char letter = alphabet.charAt(letternum);
System.out.println("" + letter + total);
}
}
这是怎么回事,我试图让它接受我的车牌输入,并在 0、1 和 2 的位置获取字符。车牌中的三个字母。然后,我尝试获取它们的 ASCII 值,将它们加在一起并将它们设置为 int“总计”。然后要找到一个应该在总值前面的字母,我使用 % 6 找到总值的其余部分。然后它将取那个值,无论它是什么数字,比如 4,它都会取字符串“alphabet”中的第 4 个字母并将其设置为字符“字母”。然后它应该做的是打印出字母,然后是 ASCII 值的总数。
这是一个示例,说明我对预期结果的输入,然后是实际结果。
车牌:CPR 607
输出:E836
我使用完全相同的车牌的输出是:
车牌:CPR 607
n229
我不确定我做错了什么,但我最好的线索是它是一个字符这一事实,它把它当作它的 ASCII 值,而不是它的字符串值(我实际上试图得到)
如果有人可以提出一些建议,那将是一个很大的帮助。不一定是我可以偷偷摸摸的代码,而是我应该如何以正确的方式去做这件事!