本文章仅用于笔记。部分知识点来源于网络,授权请联系作者([email protected])。
题目
读入两个小于100的正整数A和B,计算A+B.
需要注意的是:A和B的每一位数字由对应的英文单词给出.
Input测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为0时输入结束,相应的结果不要输出.
需要注意的是:A和B的每一位数字由对应的英文单词给出.
Output对每个测试用例输出1行,即A+B的值.
Sample Input
one + two = three four + five six = zero seven + eight nine = zero + zero =Sample Output
3 90 96
解题
import java.util.Scanner;
public class HDU1228
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
while(s.hasNextLine())
{
String str=s.nextLine();
str=str.replace("zero ", "0");
str=str.replace("one ", "1").replace("two ", "2").replace("three ", "3");
str=str.replace("four ", "4").replace("five ", "5").replace("six ", "6");
str=str.replace("seven ", "7").replace("eight ", "8").replace("nine ", "9");
int shu=0;
//F一
for(int i=0;i<str.length();i++)
{
char qu=str.charAt(i);
if(qu>=48&&qu<=57)
{
char qu1=str.charAt(i+1);
if(qu1>=48&&qu1<=57)
{
shu+=((qu-48)*10+qu1-48);
i++;
}
else
shu+=qu-48;
}
}
/*F二
int index=str.indexOf("+");
int m=Integer.parseInt(str.substring(0,index));
int n=Integer.parseInt(str.substring(index+2,str.length()-1));
shu=m+n;
*/
if(shu==0)
break;
else
System.out.println(shu);
}
}
}
求来波关注! 谢谢啦0.0!
小小小作者
@Fanny0602