当前位置:首页 » 编程语言 » 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程序也将退出。

概述

异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)。

各种编程语言在处理异常方面具有非常显着的不同点(错误检测与异常处理区别在于:错误检测是在正常的程序流中,处理不可预见问题的代码,例如一个调用操作未能成功结束)。某些编程语言有这样的函数:当输入存在非法数据时不能被安全地调用,或者返回值不能与异常进行有效的区别。

热点内容
php微信开源商城 发布:2024-11-25 02:23:31 浏览:28
哈哈脚本官网 发布:2024-11-25 02:19:47 浏览:742
服务器屏锁后怎么登录 发布:2024-11-25 02:10:45 浏览:222
四驱汉兰达买哪个配置性价比高 发布:2024-11-25 02:04:52 浏览:684
pythonsocket阻塞非阻塞 发布:2024-11-25 02:04:41 浏览:490
中温压缩机 发布:2024-11-25 01:59:54 浏览:278
小米怎么查看云相册密码是什么 发布:2024-11-25 01:46:38 浏览:686
不同的语言编译原理 发布:2024-11-25 01:30:37 浏览:315
c编译成c 发布:2024-11-25 01:29:12 浏览:105
飞腾编译gcc 发布:2024-11-25 01:28:32 浏览:153