第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在 Java 中,為什么我不能從超過 255 的十進(jìn)制數(shù)中獲取 9 個字符?是符號位嗎?

在 Java 中,為什么我不能從超過 255 的十進(jìn)制數(shù)中獲取 9 個字符?是符號位嗎?

泛舟湖上清波郎朗 2021-12-18 15:48:34
這是針對 headtails java 作業(yè)分配的,您可以在網(wǎng)上找到一些地方(例如http://www.javaproblems.com/2013/01/medium-problem-tricky-heads-and-tails.html)這個想法是輸入一個十進(jìn)制 0 到 511 并讓它輸出一個 3 x 3 的 H 或 T 矩陣,用于 0 或 1(我的作品是 0 到 255)這是我的嘗試,但我無法開始工作:public static void main(String[] args) {    @SuppressWarnings("resource")    Scanner keyboard = new Scanner(System.in);    //System.out.println("Please enter a number between 0 and 511: ");    //int num = keyboard.nextInt();    int num = 458;    String binNum = "";    int temp;    String[][] coinArr = new String[3][3]; // = [][];    while(num > 0)    {        temp = (int) (num % 2);        binNum = binNum + "" + temp;        num = (int) (num / 2);    }    System.out.println("binNum length is " + binNum.length());    System.out.println("binNum is " + binNum);    binNum = String.format((binNum.length() < 9 ? ("%0"+ (9 - binNum.length())+"d%s") : "%0$d%s"), 0 ,binNum);    System.out.println("binNum length is " + binNum.length());    System.out.println("binNum is " + binNum);    int k=0;    for(int i = 0; i < 3; i++) {        for (int j = 0; j < 3; j++) {            binNum = binNum.replaceAll("0", "H");            binNum = binNum.replaceAll("1", "T");            coinArr[i][j] = binNum.substring(k, k+1);            k++;            System.out.print(coinArr[i][j]);        }        System.out.println();    }}
查看完整描述

2 回答

?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個贊

您從十進(jìn)制到二進(jìn)制的轉(zhuǎn)換是錯誤的,正確的是:


while(num > 0)

{

    temp = (int) (num % 2);

    binNum = temp + "" + binNum;

    num = (int) (num / 2);

}

那么你的 binNum 只需要 9 個字符:


binNum = binNum.length() < 9 ? String.format("%0"+ (9 - binNum.length())+"d%s", 0 ,binNum) : binNum;


// You don't need this inside your loop

binNum = binNum.replaceAll("0", "H");

binNum = binNum.replaceAll("1", "T");


int k=0;

for(int i = 0; i < 3; i++) {

    for (int j = 0; j < 3; j++) {

        coinArr[i][j] = String.valueOf(binNum.charAt(k));

        k++;

        System.out.print(coinArr[i][j]);

    }

    System.out.println();

}


查看完整回答
反對 回復(fù) 2021-12-18
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個贊

有2個問題:-

1) 改變

binNum = binNum + "" + temp;

binNum = temp + binNum;

2) 改變

binNum = String.format((binNum.length() < 9 ? ("%0"+ (9 - binNum.length())+"d%s") : "%0$d%s"), 0 ,binNum);

binNum = String.format("%09d", Integer.parseInt(binNum));


查看完整回答
反對 回復(fù) 2021-12-18
  • 2 回答
  • 0 關(guān)注
  • 194 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號