亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何顯示未知數量數字的方表

如何顯示未知數量數字的方表

慕的地8271018 2024-01-28 16:19:35
我正在編寫一個程序,計算素數序列,然后將它們顯示在表格中。程序要求用戶輸入 2 個整數:第一個是序列開始的數字,第二個是要找到的素數的數量。到這里,程序運行完美。問題是素數應該顯示在“方形”表格中,這意味著如果可能的話,表格應該是完美的正方形。如果不可能,則行數和列數相差不應超過 1。這是我嘗試過的示例:   int columns = 0;   int rows = 0;   int element = 0;   rows = (int) Math.sqrt(numberOfPrimes);   columns = (rows * rows) < numberOfPrimes ? rows + 1 : rows;   if(numberOfPrimes%3 - 1.0 < 0.001)   {       columns = rows + 1;       rows = rows + 1;   }   if (numberOfPrimes > 100)   {       columns = 10;       if (rows * rows < numberOfPrimes)       {           rows = numberOfPrimes / 10;       }   }   System.out.println(numberOfPrimes + " = [" + rows + "," + columns + "]");   for (int r = 0; r < rows; r++)    {      for (int c = 0; c < columns; c++)      {          System.out.printf("%6s", primesArray[element] + "\t");          if (element == primesArray.length - 1)          {              break;          }          element++;      }      System.out.println();   }該表對于某些輸入可以正確顯示,但對于其他輸入則不能正確顯示。我知道這段代碼是不正確的,但我不知道如何編寫正確的代碼來執行此操作。任何幫助,將不勝感激。編輯:我將代碼更新為現在的代碼。該表對于奇數(例如 33)無法正常工作。它只打印 30 個數字,而不打印剩余的 3 個。我需要額外的一行來打印這些剩余的數字,即使該行不完整。我試圖解決這個問題,但我創建了一個數組越界錯誤。另外,我添加了一個 if 語句,因為如果素數的數量超過 100,那么該表應該只有 10 列,并且不會是正方形。編輯2:我設法解決了問題,并且更新了代碼以顯示解決方案。然而,我不得不使用休息時間,而我的教授不允許我們使用休息時間。一旦到達數組中的最后一個元素,是否有其他方法可以退出循環?
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

這是一種方法


    int primeNumbersToBeFound = 33;


    int rows = (int) Math.ceil(Math.sqrt(primeNumbersToBeFound));

    int cols = rows;

    if (rows * (rows - 1) >= primeNumbersToBeFound) {

        cols--;

    }


    System.out.println(primeNumbersToBeFound + " = [" + rows + "," + cols + "]");

然后您可以循環打印素數的行和列。


    for (int r = 0; r < rows; r++) {

        for (int c = 0; c < cols && element < primesArray.length; c++, element++) {

            System.out.print(primesArray[element]);

        }

        System.out.println();

    }


查看完整回答
反對 回復 2024-01-28
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號