Java如何统计给定单词中各字母的 ASCII 码值的和,并把ASCII值最大的字母输出。麻烦给出源代码和注释

Java如何统计给定单词中各字母的 ASCII 码值的和,并把ASCII值最大的字母输出。麻烦给出源代码和注释,第1张

import javautilScanner;

public class Test

{

public static void main (String[] args)

{

String s;

int sum=0;

char c,max;

Scanner sc=new Scanner(Systemin);

s=scnext();

max=scharAt(0);

for(int i=0;i<slength();i++)

{

c=scharAt(i);

sum+=c;

if(c>max)

max=c;

}

scclose();

Systemoutprintln("ASCII码值的和:"+sum);

Systemoutprintln("ASCII值最大的字母:'"+max+"'");

}

}

大哥你要分清楚
'a'是表示字符a,而"a"表示字符串常量a,
字符和字符串是不同的啊。
你把String a ="a";
改成 String a='a';就可以了

简单的转换,如下就可以:
public static void main(String[] agrs) {
String source = "30";
int code ;
code = IntegerparseInt(source, 16);
// 如果30代表是 16进制的30话,就取16
// 如果30代表是 10进制的30话,就取10
// code = IntegerparseInt(source, 10);
char result = (char) code;
Systemoutprintln(result);
}
根据自己程序健壮性的要求,可以对 int code的范围做出判断,防止 int转向char时产生异常。

ascll码中:128-255是IBM-PC上专用的。000-127是标准
所以不是IBM-PC是不能输出128到255的ascll码字符的
可以参看ascll码表的使用说明
这里还有一个问题是ascll码127用C语言和C++都是可以输出它对应的字符的。
但是用java输出的时候好像是一个空的。这个可能是与java的字符集的实现有关呀

代码如下:

Systemoutprint("输入一个字符:");
String str = inputnext();
boolean isNumber = strmatches("^[-+](([0-9]+)([]([0-9]+))|([]([0-9]+)))$");
if (isNumber) {
         Systemoutprintln("输入的数字是:" + str);
} else {
Systemoutprintln("输入的ASCII码是:" + (int) strcharAt(0));
}

运行结果是:

输出字符串中ASCII码最大的对应字符,如下方式供参考:

代码:

public class Test {
    public static void main(String[] args) {
        // 目标字符串
        String string = "acbACB";
        // 字符串转换成字符数组
        char[] cs = stringtoCharArray();
        // 对字符数组进行升序排序
        for (int i = 0; i < cslength - 1; i++) {
            int temp = 0;
            for (int j = 0; j < cslength - 1 - i; j++) {
                if (cs[j] > cs[j + 1]) {
                    temp = cs[j];
                    cs[j] = cs[j + 1];
                    cs[j + 1] = (char) temp;
                }
            }
        }
        // 取ASCII码最大的对应字符
        char c = cs[cslength - 1];
        Systemoutprintln("字符串中ASCII码最大的对应字符是:" + c);
    }
}

运行结果:

如果就是把字母用ASIIN码表示然后计算吧。例如Systemoutprintln((int)('A'));会输出65;(可能是65,我记不清了,不好意思,你可以查一下ASIN码表)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13209365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-20
下一篇 2023-06-20

发表评论

登录后才能评论

评论列表(0条)

保存