解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class Demo1073 {
static int num = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.next();
if(str.equals("EOF")||str.equals("-1")){
break;
}
function(str);
}
sc.close();
System.out.println(num);
}
public static void function(String str){
int num1 = -1,num2 = -1,num3 = -1,num4 = -1;
num1 = str.indexOf('+');
num2 = str.indexOf('-');
num3 = str.indexOf('=');
num4 = str.indexOf('?');
if(num4!=-1){
return;
}
if(num1==-1){
function1(num2,num3,str);
}else{
function1(num1,num3,str);
}
}
public static void function1(int num12,int num3,String str){
int a = 0,b = 0,c =0 ;
char c1 = str.charAt(num12);
for(int i =0; i<str.length(); i++){
if(i<num12){
a = a + function2(str.charAt(i));
a = a*10;
}
if(i>num12&&i<num3){
b = b + function2(str.charAt(i));
b = b*10;
}
if(i>num3){
c = c + function2(str.charAt(i));
c = c*10;
}
}
if(c1=='+'){
if((a+b)==c){
num++;
}else{
}
}else{
if((a-b)==c){
num++;
}else{
}
}
}
//获得对应位上的数字
public static int function2(char c){
int a = 0 ;
switch(c){
case '1':a = 1;
break;
case '2':a = 2;
break;
case '3':a = 3;
break;
case '4':a = 4;
break;
case '5':a = 5;
break;
case '6':a = 6;
break;
case '7':a = 7;
break;
case '8':a = 8;
break;
case '9':a = 9;
break;
case '0':a = 0;
break;
}
return a;
}
}
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
剪刀石头布 (C语言代码)浏览:1792 |
1012题解浏览:938 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:672 |
1231题解(注意理解“输入多个测试实例”)浏览:830 |
班级人数 (C语言代码)浏览:980 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:669 |
孤独的骑士 (C语言代码)浏览:1416 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:469 |