-1

更新代码:

import java.util.*;

public class Main {

/**
 * @param args
 */
static int[] C;
static int[] D;
static String P;

public static void main(String[] args) {
    C = new int[10];
    D = new int[10];
    getNumber();
}

private static void getNumber() {
    System.out
            .println("Enter your first number with spaces in between digits.");
    Scanner S = new Scanner(System.in);
    String O = S.nextLine();
    String[] A = new String[10];
    A = O.split(" ");
    for (int X = 0; A.length > X; X++) {
        C[X] = toNumber(A[X]);
    }
    String P = S.nextLine();
    String[] B = new String[10];
    B = P.split(" ");
    for (int Y = 0; B.length > Y; Y++) {
        C[Y] = toNumber(A[Y]);
    }
    System.out.print(C[0]);
    remainders();
}

private static void remainders() {
    for (int A = 0; C.length > A; A++) {
        if (D[1] * C[A] >= 10) {
            Integer B = new Integer(D[1] * C[A]);
            Character E = B.toString().charAt(0);
            P.concat(E.toString());
        }
    }
    for (int A = 0; C.length > A; A++) {
        if (D[0] * C[A] >= 10) {
            Integer B = new Integer(D[1] * C[A]);
            Character E = B.toString().charAt(0);
            P.concat(E.toString());
        }
    }
    System.out.print(P);
}

private static int toNumber(String string) {
    if (string.equals("0")) {
        return 0;
    } else if (string.equals("1")) {
        return 1;
    } else if (string.equals("2")) {
        return 2;
    } else if (string.equals("3")) {
        return 3;
    } else if (string.equals("4")) {
        return 4;
    } else if (string.equals("5")) {
        return 5;
    } else if (string.equals("6")) {
        return 6;
    } else if (string.equals("7")) {
        return 7;
    } else if (string.equals("8")) {
        return 8;
    } else if (string.equals("9")) {
        return 9;
    } else {
        return 0;
    }
}

}

出于某种原因,它打印的最后一件事是null. 我很确定问题出在toNumber方法上,但我不知道出了什么问题。如果除此之外代码还有其他问题,请告诉我。请帮忙。编辑:问题似乎与剩余方法有关,请帮助

4

2 回答 2

6

使用string.equals(n)方法测试是否stringn

于 2012-04-26T06:23:44.443 回答
0

字符串常量以这种方式进行比较:"0".equals(string). 字符串文字是实际String对象,您可以在它们上调用任何 String 方法。而且您应该更喜欢在常量上调用方法,因为可以保证它们存在,而变量可以是null. 你不需要重新发明轮子。Java有丰富的SDK。只需使用

int x = Integer.valueOf(a[X]);

如果您只想要数字 0-9,那么只需测试

if (0 <= x && x <= 9) {
  //valid continue
} else {
  //invalid state handling
}
于 2012-04-26T06:48:19.207 回答