當前位置:首頁 » 編程語言 » 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程序也將退出。

概述

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

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

熱點內容
雲伺服器網關系列 發布:2024-11-25 01:00:42 瀏覽:971
圖靈姬編程 發布:2024-11-25 00:52:40 瀏覽:314
編譯好的程序不閃一下就沒了 發布:2024-11-25 00:48:51 瀏覽:549
ts設置編譯輸出目錄 發布:2024-11-25 00:43:28 瀏覽:448
元神比較好的雲伺服器 發布:2024-11-25 00:43:20 瀏覽:190
草人御魂怎麼配置 發布:2024-11-25 00:30:37 瀏覽:738
ftp上傳流程 發布:2024-11-25 00:18:27 瀏覽:90
安卓服光遇什麼時候上線的 發布:2024-11-25 00:13:22 瀏覽:919
80萬能買到酷路澤的什麼配置 發布:2024-11-25 00:10:57 瀏覽:337
新浪微博中如何修改密碼 發布:2024-11-25 00:10:52 瀏覽:101