當前位置:首頁 » 編程語言 » javaif異常

javaif異常

發布時間: 2024-09-16 05:00:07

1. java的奇怪現象!IF語句出錯!總是只執行最後一句!

import javax.swing.JOptionPane;

public class flower
{
public static void main(String args[])
{
System.out.println("擺25*25的花方陣。一層紅花,一層黃花。問:需要多少盤紅花?需要多少盤黃花?");
String outColor=JOptionPane.showInputDialog("請確定:最外排是紅花還是黃花?輸入red或者yellow");
System.out.println(outColor);
int row[]=new int[26];
int sum[]=new int[26];
int i;
for (i=1;i<=25;i++)
row[i]=i;
for(i=1;i<=25;i++)
sum[i]=row[i]*2+(row[i]-2)*2;
int total_1=0;
int total_2=0;
for(i=1;i<=25;i+=2)
{
total_1+=sum[i];
total_2+=sum[i-1];
}

if(outColor.equals("red"))
{
System.out.println("當紅花在最外排時,紅花一共有"+total_1+"盤,而黃花一共有"+total_2+"盤。");
}
else if(outColor.equals("yellow"))
{
System.out.println("當黃花在最外排時,紅花一共有"+total_2+"盤,而黃花一共有"+total_1+"盤。");
}
else if(outColor!="red"&&outColor!="yellow")
{
System.out.println("沒有"+outColor+"的顏色的花");
}

}
}

這樣就可以了,你能看出來有什麼不同嗎?呵呵,只是把
if(outColor=="red")
改為if(outColor.equals("red"))

else if(outColor=="yellow")
改為else if(outColor.equals("yellow"))

這樣就行了,你知道為什麼嗎??
主要是你不太理解==和.equals的區別,主要是==是判斷是否引用的是一個對象,equals是判斷字元是否想同。
你可以到網上多搜點資料看看。

2. java中異常是用來處理程序出現錯誤的情況,那為什麼不直接用if語句,把可能出現的錯誤放在if中呢

java中異常是用來處理程序出現錯誤的情況,不直接用if語句,把可能出現的錯誤放在if中的原因:因為有些錯誤是人們不能預料的,比如內存溢出等,所以還是需要try/catch一下。

(1)在Java程序運行過程中系統得到一個異常對象是,它將會沿著方法的調用棧逐層回溯,尋找處理這一異常的代碼。

(2)找到能夠處理這種類型異常的方法後,運行時系統把當前異常交給這個方法處理;如果找不到可以捕獲異常的方法,則運行時系統將終止,相應的Java程序也將退出。

概述

異常處理,是編程語言或計算機硬體里的一種機制,用於處理軟體或信息系統中出現的異常狀況(即超出程序正常執行流程的某些特殊條件)。

各種編程語言在處理異常方面具有非常顯著的不同點(錯誤檢測與異常處理區別在於:錯誤檢測是在正常的程序流中,處理不可預見問題的代碼,例如一個調用操作未能成功結束)。某些編程語言有這樣的函數:當輸入存在非法數據時不能被安全地調用,或者返回值不能與異常進行有效的區別。

熱點內容
python中或者怎麼表示 發布:2025-01-13 16:32:33 瀏覽:288
易達加密鎖 發布:2025-01-13 16:27:23 瀏覽:514
前端編譯工具配置 發布:2025-01-13 16:26:43 瀏覽:585
資料庫百度雲 發布:2025-01-13 16:19:38 瀏覽:539
java連接sqlite資料庫 發布:2025-01-13 16:19:36 瀏覽:768
htmlajax上傳文件 發布:2025-01-13 16:19:33 瀏覽:514
安卓怎麼時間顯秒 發布:2025-01-13 16:19:33 瀏覽:474
我的世界java伺服器管理員設置 發布:2025-01-13 16:18:44 瀏覽:493
大秦國之裂變ftp 發布:2025-01-13 15:59:01 瀏覽:371
谷能壓縮機 發布:2025-01-13 15:44:30 瀏覽:413