用Java寫9x9乘法表背後的故事,其實也不是很難嘛

用Java寫9x9乘法表背後的故事,其實也不是很難嘛

今天在群裡聊天的時候無意中想到剛學Java的時候寫的乘法表,於是隨手就寫了個9x9,感覺還是蠻有意思的,在這裡我分享下代碼,並寫一下關於9x9的故事。

先上代碼:

public class MyTest {

public static void main(String[] args) {

for (int i = 1; i <= 9; i++) {

for (int j = 1; j <= i; j++) {

System.out.print(j + "x" + i + "=" + i * j + " ");

}

//換行

System.out.println();

}

}

}

代碼還是很簡單的吧~ 兩個for循環,第一個for循環是循環行數,第二個for循環是循環每一行打印的乘法口訣(例如:1x1=2),循環都是從1開始,到9結束,代表9x9乘法表。我們在寫完一行口訣後要換一行,所以我在外循環的結束處加了一行代碼:

System.out.println();

它的作用就是換行打印。這樣我們就打印出了9行乘法口訣,如下圖:

用Java寫9x9乘法表背後的故事,其實也不是很難嘛

細心的同學可能發現了一個問題,那就是3x4=12 和 3x5=15沒對齊,那麼我們怎麼解決這個問題呢?

我們觀察可以發現只有3x3=9和3x4=12沒對齊,其他的都是對齊的,那麼我們就可以在前面再加一個空格,像這樣:

public class MyTest {

public static void main(String[] args) {

for (int i = 1; i <= 9; i++) {

for (int j = 1; j <= i; j++) {

String blank = " ";

String s = j + "x" + i + "=" + i * j;

if(j == 2) {

if(i == 3 || i == 4) {

blank += " ";

}

}

System.out.print(s + blank);

}

//換行

System.out.println();

}

}

}

我在j=2,i=3;j=2,i=4;的時候加了一個判斷,在他們後面加了個空格,其效果是:

用Java寫9x9乘法表背後的故事,其實也不是很難嘛

可以看到我們已經解決了不對齊的問題,變得很好看了。但是我覺得上面的代碼寫的過於囉嗦,臃腫;還可以這麼優化一下:

public class MyTest {

public static void main(String[] args) {

for (int i = 1; i <= 9; i++) {

for (int j = 1; j <= i; j++) {

System.out.print(j + "x" + i + "=" + i * j + "\t");

}

//換行

System.out.println();

}

}

}

'\t'是一個製表符號,他可以自己格式化輸出,經過製表符格式化後的輸出是:

用Java寫9x9乘法表背後的故事,其實也不是很難嘛

可以看到,輸出的9x9非常好看了。

下面再展示下倒序:

public class MyTest {

public static void main(String[] args) {

for (int i = 9; i >= 1; i--) {

for (int j = 1; j <= i; j++) {

System.out.print(j + "x" + i + "=" + i * j + "\t");

}

//換行

System.out.println();

}

}

}

用Java寫9x9乘法表背後的故事,其實也不是很難嘛

怎麼樣,很簡單呢吧?你也可以動手試一下哦~

可獲得兩大新人禮包

36份一線互聯網Java面試電子書

84個Java稀缺面試題視頻

用Java寫9x9乘法表背後的故事,其實也不是很難嘛


分享到:


相關文章: