求解java编程题 字母字符转换成数字
发布网友
发布时间:2022-05-04 22:24
我来回答
共4个回答
热心网友
时间:2022-06-26 12:58
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestString {
public static int printInt(String param)//返回换算后的int值
{
int result = 0;
int x;
int z =1;
int length = param.length();
System.out.println("输出字符串:"+param);
for(int p=0;p<param.length();p++)
{
System.out.println("输出字符串中"+p+"字符:"+param.charAt(p));
x = (int)param.charAt(p);
for(int t=1;t<length;t++)
{
z = z*26;
}
length--;
result = result+x*z;
}
return result;
}
public static void main(String[] args)throws NumberFormatException, IOException {
String str="";
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader dr = new BufferedReader(is);
str = dr.readLine();
if(str.length()<=5)
{
System.out.println("请重新输入5个字母");
str = dr.readLine();
}
System.out.println("换算后的int值:"+printInt(str));
}
}
不管什么字符*26还是不变的吧。。
还有你下面的英文也是程序所要求的吧。 如果是这样。请试一下我的代码。
在控制台随便输入5个以上的字符按回车就可以。如果有问题的话。找我。
热心网友
时间:2022-06-26 12:59
public class test {
public static void main(String[] args) {
String str = "BUT";
int sum = 0, j = 0;
for (int i = str.length() - 1; i >= 0; i--) {
int c = (int) str.charAt(i) - 65;
sum += c * Math.pow(26, j++);
System.out.println(sum);
}
}
}
热心网友
时间:2022-06-26 12:59
public class WordEncoder{
public static void main(String[] args){
String word="BUT";
System.out.println(word+"==>"+encodeWord(word));
}
public static long encodeWord(String word){
long result=0;
char[] letters=word.toCharArray();
for(int i=0;i<letters.length;i++){
result*=26;
result+=letters[i]-'A';
}
return result;
}
}
热心网友
时间:2022-06-26 13:00
不懂你BUTS为什么就是1215*16+19?
不是1*16+20*16+19*16+20?