標籤:
我給分為了兩塊 一個專門寫代碼 一個專門輸出 看結果 用到太多的 if
還有一個簡單的 沒有用到太多的 if 判斷
沒有寫注釋 知識點都在我發的那些部落格裡面 如果還是有不懂的 可留言 補上注釋
代碼類 : if 判斷的
/**
* 問:有100匹馬 有100片瓦,
* 大馬能托3片瓦,中馬能托2片瓦,三隻小馬能托一片瓦,正好這100匹馬,把這100片瓦拉完.
* 問有多少匹大馬,多少匹中馬,多少匹小馬?
*/
public class Dai_Ma{
public static void m1(){
ZhongZhi: for(int d=1; d <100 ; ++d){ //我這裡代表大馬
for(int z=1; z <100 ; ++z){ //我這裡代表中馬
for (double x=1; x < 100 ; ++x ){ // 我這裡代表小馬
if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) {
System.out.println( "第一種答案 : " );
System.out.print("大馬為 : "+ d + " 匹 " );
System.out.print( " 中馬為 : " + z + " 匹 " );
System.out.println( " 小馬為 : " + x + " 匹 " );
break ZhongZhi;
}
}
}
}
}
public static void m2(){
ZhongZhi: for(int d=1; d <100 ; ++d){ //我這裡代表大馬
for(int z=1; z <100 ; ++z){ //我這裡代表中馬
for (double x=1; x < 100 ; ++x ){ // 我這裡代表小馬
if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) {
if (d != 5.0) {
System.out.println( "第二種答案 : " );
System.out.print("大馬為 : "+ d + " 匹 " );
System.out.print( " 中馬為 : " + z + " 匹 " );
System.out.println( " 小馬為 : " + x + " 匹 " );
break ZhongZhi;
}
}
}
}
}
}
public static void m3(){
ZhongZhi: for(int d=1; d <100 ; ++d){ //我這裡代表大馬
for(int z=1; z <100 ; ++z){ //我這裡代表中馬
for (double x=1; x < 100 ; ++x ){ // 我這裡代表小馬
if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) {
if (d != 5) {
if (d != 10) {
System.out.println( "第三種答案 : " );
System.out.print("大馬為 : "+ d + " 匹 " );
System.out.print( " 中馬為 : " + z + " 匹 " );
System.out.println( " 小馬為 : " + x + " 匹 " );
break ZhongZhi;
}
}
}
}
}
}
}
public static void m4(){
ZhongZhi: for(int d=1; d <100 ; ++d){ //我這裡代表大馬
for(int z=1; z <100 ; ++z){ //我這裡代表中馬
for (double x=1; x < 100 ; ++x ){ // 我這裡代表小馬
if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) {
if (d != 5) {
if (d != 10) {
if (d != 15) {
System.out.println( "第四種答案 : " );
System.out.print("大馬為 : "+ d + " 匹 " );
System.out.print( " 中馬為 : " + z + " 匹 " );
System.out.println( " 小馬為 : " + x + " 匹 " );
break ZhongZhi;
}
}
}
}
}
}
}
}
public static void m5(){
ZhongZhi: for(int d=1; d <100 ; ++d){ //我這裡代表大馬
for(int z=1; z <100 ; ++z){ //我這裡代表中馬
for (double x=1; x < 100 ; ++x ){ // 我這裡代表小馬
if (d + z + x == 100 && 3*d + 2*z + x/3 == 100) {
if (d != 5) {
if (d != 10) {
if (d != 15) {
if (d != 20) {
System.out.println( "第五種答案 : " );
System.out.print("大馬為 : "+ d + " 匹 " );
System.out.print( " 中馬為 : " + z + " 匹 " );
System.out.println( " 小馬為 : " + x + " 匹 " );
break ZhongZhi;
}else{
System.out.println("沒有答案了 就四種" );
}
}
}
}
}
}
}
}
}
}
查看結果類 :
/**
* 問:有100匹馬 有100片瓦,
* 大馬能托3片瓦,中馬能托2片瓦,三隻小馬能托一片瓦,正好這100匹馬,把這100片瓦拉完.
* 問有多少匹大馬,多少匹中馬,多少匹小馬?
*/
public class Jie_Guo{
public static void main(String[] args){
Dai_Ma.m1();
Dai_Ma.m2();
Dai_Ma.m3();
Dai_Ma.m4();
Dai_Ma.m5();
}
}
簡單的 :
public class Jian_Dan{
static int c = 0;//靜態變數
public static void main(String[] args){
m1();//調用m1方法
}
public static void m1(){//聲明靜態方法
for(int d=1; d <100 ; ++d){//這裡表示大馬
for(int z=1; z <100 ; ++z){//這裡表示中馬
for(double x=1; x <100 ; ++x){//這裡表示小馬
if (d + z + x == 100 && 3*d + 2*z + x/3 == 100 ) { //判斷 為真 就執行一下語句
c += 1;//進來一次 都和c相加 在賦值給c
System.out.println( "第 " + c + "種答案 : " );//c進來幾次 就證明有幾次正確答案
System.out.println("大馬有 :"+d +" 中馬有 : "+z + " 小馬有 : " + x );
}
}
}
}
}
}
java編碼 100匹馬 100塊瓦