[英]Java - Create a multiplication table using strings
因此,我最近在課堂上得到了這個作業,需要幫助,我檢查了其他問題,但找不到與老師要求的相似的問題。 她非常嚴格,想要的東西正是他們要求的。
“創建一個名為MultiplicationTable和MultiplicationTableTester的類。一個乘法表的最大值為
乘法表應具有名為String createMultiplcationTable()的方法,該方法可創建乘法表。
使用“ \\ n”獲取新行,程序應使用字符串“ \\ t”制表到下一個制表符位置,以便信息在各列中整齊地顯示。 “ MultiplicationTableTester類應提示用戶輸入最大值(如果用戶確實繼續提示他們輸入有效值,直到輸入一個為止,則不允許用戶輸入負數)。”
這是我做這件事的可怕嘗試
/* MultiplicationTable.java*/
public class MultiplacationTable {
private int maxNum;
private int i = 1;
public MultiplacationTable(int n) {
Scanner in = new Scanner(System.in);
maxNum = in.nextInt();
n = maxNum;
}
public String createMultiplacationTable() {
String row = "";
String col = "";
String tmpRow= "";
String tmpCol = "";
String table = "";
while (i < maxNum) {
tmpRow = "" + i;
i++;
row += tmpRow + "\t";
tmpCol = "" + i;
i++;
col += tmpCol + "/n";
for (int j = 1; j < maxNum; j++) {
System.out.print(" " + i * j);
}
table = row + col;
}
return table;
}
}
除了打印出方法外,不知道要用測試儀做什么
/*MultiplicationTableTester*/
public class MultiplacationTableTester {
public static void main (String[] args) {
System.out.print("Please input a number: ");
MultiplacationTable mT = new MultiplacationTable(0);
System.out.print(mT.createMultiplacationTable());
}
}
我的輸出使用5作為輸入是
Please input a number: 5
3 6 9 12 5 10 15 201 3 2/n4/n
所以顯然真的是錯誤的。 我覺得我做錯了與“ / n”和“ \\ t”有關。 有什么幫助嗎?
用“ \\ n”更改“ / n”
public String createMultiplacationTable() {
String row = "";
String col = "";
String tmpRow= "";
String tmpCol = "";
String table = "";
while (i < maxNum) {
tmpRow = "" + i;
i++;
row += tmpRow + "\t";
tmpCol = "" + i;
i++;
col += tmpCol + "\n";
for (int j = 1; j < maxNum; j++) {
System.out.print(" " + i * j);
}
table = row + col;
}
return table;
}}
我沒有測試它,但是應該可以。 不要猶豫,問一下您是否不懂。 我希望它既干凈又漂亮。
乘法表測試儀
public class MultiplicationTableTester {
public static void main (String[] args) {
int maxNum;
System.out.println("Please enter a number: ");
Scanner in = new Scanner(System.in);
maxNum = in.nextInt();
MultiplicationTable mT = new MultiplicationTable(maxNum);
System.out.print(mT.createMultiplicationTable());
}
}
MultiplicationTable.java
public class MultiplicationTable {
private int maxNum;
public MultiplicationTable(int maxNum) {
this.maxNum = maxNum;
}
public String createMultiplicationTable() {
StringBuilder table = new StringBuilder();
for(int i = 1; i<=maxNum;i++){
for(int j = 1; j<=10; j++){
table.append(i*j);
table.append("\t");
}
table.append("\n");
}
return table.toString();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.