Java - создать таблицу умножения, используя строки - PullRequest
0 голосов
/ 07 марта 2019

Так что я недавно получил это задание в классе и мне нужна помощь, я проверил другие вопросы, но не смог найти тот, который был бы похож на то, что просил мой учитель. Она довольно строга и хочет, чтобы все было так, как их просили.

"Создайте класс с именем 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" Любая помощь?

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

Я не проверял, но это должно работать.Не стесняйтесь спрашивать, если вы ничего не понимаете.Я надеюсь, что он чистый и достаточно хороший.

Тестер таблицы умножения

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();
 }
}
0 голосов
/ 07 марта 2019

изменить "/ 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;

}}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...