如何在java中将字符串转换为ascii值?

时间:2014-11-03 22:37:24

标签: java ascii

我有新的任务,因为我是JAVA的新手,我不知道如何使它工作,我经常搜索这个网站,但所有建议的解决方案对我来说都没有用,或者我没有正确使用它们,如果有人帮助我,我将不胜感激...... 下面的代码是我能找到的最简单的解决方案,但仍然不起作用......

我希望从人们那里获取名称等输入并将其更改为数字(int)...它表示无法从字符串转换为int ... !!

 package loveindex;
import java.util.Scanner;
//import java.math.BigInteger;

public class LoveIndex {

private static Scanner scan;

public static void main(String[] args) {
    scan = new Scanner(System.in);

    System.out.println("Testing Scanner, write something: ");
    String testi = scan.nextLine();
    System.out.println(testi);
    System.out.println("Testing Scanner, write something: ");
    String testi2 = scan.nextLine();
    System.out.println(testi2);

    int ascii = (int) testi;
    int ascii = (int) testi2;
  }

}

5 个答案:

答案 0 :(得分:3)

你可以试试这个:

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    System.out.println("Testing Scanner, write something: ");
    String testi = scan.nextLine();
    char[] ascii1 = testi.toCharArray();

    for(char ch:ascii1){
        System.out.println((int)ch+"  ");
    }


    System.out.println("Testing Scanner, write something: ");
    String testi2 = scan.nextLine();
    char[] ascii2 = testi2.toCharArray();

    for(char ch:ascii2){
        System.out.println((int)ch+"  ");
    }

  scan.close();
}

答案 1 :(得分:1)

通过使用Java 8的lambda函数以简洁的方式实现相同目的。 根据您的评论(在已接受的答案中),您需要末尾的字符总和?

String str = "name";
int sum = str.chars().reduce(0, Integer::sum);

答案 2 :(得分:0)

您正在尝试将String分配给int,其中2个不兼容。您可以获得单个字符的ascii值

int ascii = testi.charAt(0);

答案 3 :(得分:0)

您不能将字符串转换为ascii。您可以将字符转换为ascii

int ascii = (int)some_char;

答案 4 :(得分:0)

首先:Java不使用ASCII。它使用Unicode(UTF-16,大部分时间)。

第二:您可以创建一个函数将String字符转换为Unicode表示形式,如下所示:

public static int[] convert(String str) {
    int[] result = new int[str.length()];
    for (int i = 0; i < str.length(); i++) {
        result[i] = str.charAt(i);
    }
    return result;
}