回圈嵌套
列印乘法口訣
for(int j=1;j<=9;j++){
for(int i=1;i<=j;i++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
//換行
System.out.println();
}
倒乘法口訣

for(int j=9;j>=1;j--){
for(int i=1;i<=j;i++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
//換行
System.out.println();
}
列印長方形

for(int j=1;j<=4;j++){//j:控制行數
//*********
for(int i=1;i<=9;i++){//i:控制*的個數
System.out.print("*");
}
//換行:
System.out.println();
}
距離前面有一定空隙的長方形:

for(int j=1;j<=4;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=9;i++){//i:控制*的個數
System.out.print("*");
}
//換行:
System.out.println();
}
平行四邊形

for(int j=1;j<=4;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的個數
System.out.print("*");
}
//換行:
System.out.println();
}
列印三角形

for(int j=1;j<=4;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的個數
System.out.print("*");
}
//換行:
System.out.println();
}
列印菱形

可以看成兩個三角形拼成一個菱形
//上面三角形:
for(int j=1;j<=4;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的個數
System.out.print("*");
}
//換行:
System.out.println();
}
//下面三角形:
for(int j=1;j<=3;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(j+5);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=(7-2*j);i++){//i:控制*的個數
System.out.print("*");
}
//換行:
System.out.println();
}
列印空心菱形

//上面三角形:
for(int j=1;j<=4;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的個數
if(i==1||i==(2*j-1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//換行:
System.out.println();
}
//下面三角形:
for(int j=1;j<=3;j++){//j:控制行數
//加入空格:
for(int i=1;i<=(j+5);i++){//i:控制空格的個數
System.out.print(" ");
}
//*********
for(int i=1;i<=(7-2*j);i++){//i:控制*的個數
if(i==1||i==(7-2*j)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//換行:
System.out.println();
}
進階列印菱形和空心菱形(換一種思路)
菱形
可以把菱形看成一個正方形,在相應位置打空,在相應位置打*
public class TestFor14{
public static void main(String[] args){
//先列印出一個正方形,然后某些位置上列印* 某些位置上列印空格:
int size = 17;
int startNum = size/2+1;//起始列號
int endNum = size/2+1;//結束列號
//引入一個布爾型別的變數---》理解為“開關”
boolean flag = true;
for(int j=1;j<=size;j++){
//*****
for(int i=1;i<=size;i++){
if(i>=startNum&&i<=endNum){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//換行
System.out.println();
if(endNum==size){
flag = false;
}
if(flag){//flag是true相當于在菱形的上半側 flag是false相當于在菱形的下半側
startNum--;
endNum++;
}else{
startNum++;
endNum--;
}
}
}
}
空心菱形
public class TestFor14{
public static void main(String[] args){
//先列印出一個正方形,然后某些位置上列印* 某些位置上列印空格:
int size = 17;
int startNum = size/2+1;//起始列號
int endNum = size/2+1;//結束列號
//引入一個布爾型別的變數---》理解為“開關”
boolean flag = true;
for(int j=1;j<=size;j++){
//*****
for(int i=1;i<=size;i++){
if(i==startNum||i==endNum){//和實心菱形只有這行不一樣
System.out.print("*");
}else{
System.out.print(" ");
}
}
//換行
System.out.println();
if(endNum==size){
flag = false;
}
if(flag){//flag是true相當于在菱形的上半側 flag是false相當于在菱形的下半側
startNum--;
endNum++;
}else{
startNum++;
endNum--;
}
}
}
}
計算二元一次方程組
1<=a<=5
3<=b<=6
求出a+b=7中a和b的所有可能性
public static void main(String[] args){
for(int a=1;a<=5;a++){
for(int b=3;b<=6;b++){
if(a+b==7){
System.out.println(a+"----"+b);
}
}
}
}
三元一次方程組
百錢買白鳥
公雞5文錢一只,母雞3文錢一只,小雞3只一文錢,用100文錢買100只雞,其中公雞,母雞,小雞都必須要有,問公雞,母雞,小雞要買多少只剛好湊足100文錢,
數學:
設未知數:
公雞:x只
母雞:y只
小雞:z只
x+y+z=100只
5x+3y+z/3=100錢
方式1(比較麻煩)
for(int x=1;x<=100;x++){
for(int y=1;y<=100;y++){
for(int z=1;z<=100;z++){
if((x+y+z==100)&&(5*x+3*y+z/3==100)&&(z%3==0)){
System.out.println(x+"\t"+y+"\t"+z);
}
}
}
}
方式2(優化)
100文做多買公雞19只,母雞31只,小雞100-公雞-母雞
for(int x=1;x<=19;x++){
for(int y=1;y<=31;y++){
int z = 100-x-y;
if((5*x+3*y+z/3==100)&&(z%3==0)){
System.out.println(x+"\t"+y+"\t"+z);
}
}
}
有不懂的地方可以私信~
內容來源于馬士兵教育趙姍姍老師的Java筆記,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/244269.html
標籤:java
下一篇:Java基礎語法及其經驗總結
