须知知识点: 字符串中每一个字符的获取方法;英文字符在ASCII码中对应的十进制代码;需自定义一个函数
分析:据题目可知:输入一个字符串,将其对应的十进制代码相乘再整除47取余与另一个字符串以相同的方法处理后进行比较;若相等,则GO;反之,STAY(由于两个输入的字符串的处理方法相同,且是将字符串中的字符一个个取值,可使用自定义函数进行处理)
import java.util.Scanner;
public class Main{
// 自定义函数 fly()
public static int fly(String s){
// 相乘 sum 取 1
int sum = 1;
// length() 获取字符串长度
for (int i = 0; i < s.length(); i++) {
// A ~ Z ————> 65 ~ 90
// charAt() 获取字符的十进制代码
int a = s.charAt(i) - 64;
sum *= a;
}
// % 整除取余
int num = sum % 47;
// 返回 取余的值 再作比较
return num;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String g1 = sc.next();
String g2 = sc.next();
int num1 = fly(g1);
int num2 = fly(g2);
// 判断方法
if (num1 == num2)
System.out.println("GO");
else
System.out.println("STAY");
}
}
参考文档:ASCII码对照表
该博客探讨如何处理字符串,通过获取每个字符的ASCII码,相乘并整除47取余,然后与另一个字符串做相同操作进行比较。如果余数相等,则字符串匹配;否则不匹配。内容涉及自定义函数的使用和ASCII码对应关系。
957

被折叠的 条评论
为什么被折叠?



