贝壳的进制的题 给我看看为啥通过率只有9
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
String str = in.nextLine();
Hanshu han=new Hanshu();
int a =han.hanshu(str);
System.out.println(a);
}
}
class Hanshu{
int hanshu(String str){
int[] abs= new int[str.length()];
String[] s=str.split("\\+|-");
for(int i=0;i<s.length;i++){
if(s[i].charAt(0)=='0'){
if(s[i].charAt(1)=='x'){
s[i]=s[i].replace("0x", "");
abs[i]=Integer.parseInt(s[i],16);
}else {
s[i]=s[i].replace("0", "");
abs[i]=Integer.parseInt(s[i],8);
}
}else {
abs[i]=Integer.parseInt(s[i]);
}
}
int temp=abs[0];
for(int i=0;i<s.length-1;i++){
int m = str.indexOf(s[i])+s[i].length();
char t = str.charAt(m);
if(t=='+'){
temp+=abs[i+1];
}
if(t=='-'){
temp-=abs[i+1];
}
}
return temp;
}
}
#贝壳找房#
public class Main {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
String str = in.nextLine();
Hanshu han=new Hanshu();
int a =han.hanshu(str);
System.out.println(a);
}
}
class Hanshu{
int hanshu(String str){
int[] abs= new int[str.length()];
String[] s=str.split("\\+|-");
for(int i=0;i<s.length;i++){
if(s[i].charAt(0)=='0'){
if(s[i].charAt(1)=='x'){
s[i]=s[i].replace("0x", "");
abs[i]=Integer.parseInt(s[i],16);
}else {
s[i]=s[i].replace("0", "");
abs[i]=Integer.parseInt(s[i],8);
}
}else {
abs[i]=Integer.parseInt(s[i]);
}
}
int temp=abs[0];
for(int i=0;i<s.length-1;i++){
int m = str.indexOf(s[i])+s[i].length();
char t = str.charAt(m);
if(t=='+'){
temp+=abs[i+1];
}
if(t=='-'){
temp-=abs[i+1];
}
}
return temp;
}
}
#贝壳找房#