当前位置: 首页 > 知识库问答 >
问题:

将字母字符串转换为数字

万阳嘉
2023-03-14

所以我是计算机科学的新手,我们被要求做的一件事是尝试创建一个程序,首先将用户输入的一个单词转换成一个数字串,a=1,b=2,z=26等等,还有一些其他的事情,因为它们是扩展,我现在不想讨论。诚然,她说她不介意我们完成它,因为这是我们今天的第一节java课程。

有鉴于此,有人能给我一些关于如何做到这一点的建议吗?我不想让一段完整的代码完全做到这一点,因为我需要学习,因此非常感谢指导之手。到目前为止,我写了什么:

import java.util.*;
public class main
{
 /**
 * Constructor for objects of class main
 */
public static void main(String [ ] args)
{
    Scanner keyboard = new Scanner(System.in);
    String word = "";
    System.out.print("\nPlease enter a word: ");
    word = keyboard.nextLine();
    for(int i=0; i<word.length(); i++)
    {

    }
}

我知道那里几乎什么都没有,但正如前面提到的,我们还没有真正学到任何东西,所以这就是我到目前为止所能做到的,老实说,那里可能已经出了问题。

我的假设是有一种方法可以把每个字母转换成它的数字(也许在Java中数字已经被分配给字母了?)在for循环中。我唯一的另一个想法是将它转换成一个数组,用另一个数组包含数字,并找到一种方法输出相关的副本。但我不确定。

谢谢!

安东尼

共有3个答案

汪欣德
2023-03-14

尝试对Int变量使用parseInt

阎宾实
2023-03-14

假设您已经阅读了一个String并需要一个int[]数组,其中每个数字都对应于从a=1z=26中的字母:

public int[] toNumbers(String s) {
    if (s == null)
        return null;
    int[] r = new int[s.length()];
    int i = 0;
    for (char c : s.toLowerCase().toCharArray())
       r[i++] = c - 'a' + 1;
    return r;
}

要打印结果,只需使用数组。toString()

System.out.println(Arrays.toString(r));
上官思博
2023-03-14

可以减去两个char变量。这给出了它们的ASCII值之间的差异。

for(int i=0; i<word.length(); i++)
{
    char c = word.charAt(i);
    System.out.println(c - 'a' +1);
}
 类似资料:
  • 我试图找到一种方法来将像“t2hr8var4tnuloglmibpabyvdri1y02rbx”这样的长字符串ID转换为数字ID。 A=10,B=20,C=50, ABC=10+20+50=80 BAC=20+10+50=80 所以ABC=102050 这个方法不起作用,因为有一个20个字母的字符串会导致一个巨大的数字,所以我如何解决这个问题?提前谢谢你。

  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字

  • 问题内容: 如何将经典字符串转换为f字符串? 输出: 所需的输出: 问题答案: f字符串是 语法 ,而不是对象类型。您不能将任意字符串转换为该语法,该语法会创建一个字符串对象,而不是相反。 我假设您想用作模板,因此只需在对象上使用方法: 如果要提供可配置的模板服务,请创建一个包含所有可以插值的字段的名称空间字典,并与调用语法一起使用以应用名称空间: 然后,用户可以在字段中的名称空间中使用任何键(或

  • 我有一个购物车php页面,在那里我显示客户端产品。在同一页中,我有一个表单,可以将客户的个人详细信息(如姓名、姓氏等)以及产品信息(如产品名称、数量等)直接发送到我的电子邮件地址。 现在,问题是,当我发送表单时,在我的电子邮件地址上,我收到了所有的信息,但没有产品细节,例如在订单电子邮件中的产品名称字段,我有ARRAY。 我看到将数组转换为字符串时出现问题,但我不知道如何转换,我尝试了几个示例,但

  • 问题内容: MySQL是否会自动将字符串转换为数字值? 转换如何进行? ‘1234’= 1234吗? ‘1abc’= 1? ‘文本’= 1? 给定那是bigint类型的,该查询将如何解释? 问题答案: 前三个问题的答案是:是,是和否。 当字符串转换为数字时,它将成为value 。 描述类型转换的文档在这里。 对于您的查询: 该摘录摘自文档: 在所有其他情况下,将参数作为浮点数(实数)进行比较。 换

  • 问题内容: 我想在GO中将字符串数组转换为字节数组,以便可以将其写到磁盘上。将字符串数组()解码为字节数组()的最佳解决方案是什么? 我正在考虑对字符串数组进行两次迭代,第一个迭代以获得字节数组所需的实际大小,然后第二个迭代写入每个元素的长度和实际字符串()。 解决方案必须能够以其他方式进行转换;从一个到一个。 问题答案: 让我们忽略一个事实,那就是走一秒钟。您需要做的第一件事是将序列化格式编组为