1
我需要一些我應該創建的程序的幫助。我應該創建一個程序,讀取用戶輸入的任意長度的兩個字符串,並將它們相減或相加。我不允許在操作前將這些字符串轉換爲數字。這是我迄今爲止所得到的。我的老師提到了將字符串轉換爲uni-code來加減它們,但我不知道該怎麼做,因爲我們甚至沒有學過uni-code。這裏是我的代碼:加入和減去Java中的字符串
import java.util.Scanner;
public class Number {
private char Sign;
private String Whole;
private String Fraction;
public static void main(String[] args) {
Scanner Keyboard = new Scanner (System.in);
System.out.println("This program adds or subtracts numbers of any lengths, please add two numbers: ");
String num1 = Keyboard.nextLine();
System.out.println("Enter the second number: ");
String num2 = Keyboard.nextLine();
String sum = " ";
int length = num1.length();
int carry = 0;
public Number Add(Number RHS) {
for (int i = length -1 ; i >= 0; i--) {
char c1 = num1.charAt(i);
char c2 = num2.charAt(i);
int tempSum = (c1 - 48) + (c2 - 48) + carry;
carry = tempSum/10;
int sumDigit = tempSum % 10;
sum = (char) (sumDigit + 48) + sum;
if (carry == 1) {
sum = "1" + sum;
}
}
}
}
public Number (double n) {
Whole = " ";
Fraction = " ";
if (n >= 0) {
Sign = '+';
}
else
{
Sign = '-';
n = Math.abs(n);
String numString = new Double(n).toString();
int position = numString.indexOf(".");
}
}
}
您可能希望使它們具有相同的長度,以左墊零。 – 2014-09-02 14:34:46
我真的不明白這個問題,但是我覺得需要指出的是,按照慣例'變量'是用camelCase編寫的,除非它們是'static final'常量,否則絕不以大寫字母開頭 – Juxhin 2014-09-02 14:40:53
忘記Unicode。 Java字符串是一系列字符。 Java通過Unicode _code points_表示字符,但您不需要知道完成分配。所有你需要知道的是'0' - '0'== 0',''1' - '0'== 1',等等。 – 2014-09-02 14:41:07