Java - 使用字符串创建乘法 table
Java - Create a multiplication table using strings
所以我最近在 class 中收到了一份作业,需要帮助,我已经检查了其他问题,但找不到与我老师要求的问题相似的问题。她非常严格,想要的东西正是他们所要求的。
"创建一个名为 MultiplicationTable 和 MultiplicationTableTester 的 class。乘法 table 的最大值为
乘法 table 应该有一个名为 String createMultiplcationTable() 的方法来创建乘法 table。
使用“\n”换行,程序要使用字符串“\t”跳转到下一个tab位置,这样信息显示整齐
在列中。 MultiplicationTableTester class 应该提示用户输入最大值(不允许用户输入负数,
如果他们继续提示他们输入一个有效值,直到输入一个值。"
这是我做这件事的可怕尝试
/* 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;
}
}
我没有测试它,但它应该可以工作。如果您有任何不明白的地方,请不要犹豫。我希望它足够干净和漂亮。
乘法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();
}
}
所以我最近在 class 中收到了一份作业,需要帮助,我已经检查了其他问题,但找不到与我老师要求的问题相似的问题。她非常严格,想要的东西正是他们所要求的。
"创建一个名为 MultiplicationTable 和 MultiplicationTableTester 的 class。乘法 table 的最大值为
乘法 table 应该有一个名为 String createMultiplcationTable() 的方法来创建乘法 table。
使用“\n”换行,程序要使用字符串“\t”跳转到下一个tab位置,这样信息显示整齐 在列中。 MultiplicationTableTester class 应该提示用户输入最大值(不允许用户输入负数, 如果他们继续提示他们输入一个有效值,直到输入一个值。"
这是我做这件事的可怕尝试
/* 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;
} }
我没有测试它,但它应该可以工作。如果您有任何不明白的地方,请不要犹豫。我希望它足够干净和漂亮。
乘法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();
}
}