问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JAVA的奇怪现象!IF语句出错!总是只执行最后一句!

发布网友 发布时间:2024-09-30 09:04

我来回答

1个回答

热心网友 时间:2024-10-31 01:43

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

程序要解决的问题是:摆25*25的花方阵。一层红花,一层黄花。问:需要多少盘红花?需要多少盘黄花?

编译可以通过。但运行时,无论是输入red、yellow还是非法数据,都是显示: 没有***的颜色的花(***是输入的字符串)

好奇怪啊!想砸电脑了!可惜又是刚买的电脑,舍不得!各位大侠帮帮忙啦

import javax.swing.JOptionPane;

public class flower

{

public static void main(String args[])

{

System.out.println("摆25*25的花方阵。一层红花,一层黄花。问:需要多少盘红花?需要多少盘黄花?");

String outColor=JOptionPane.showInputDialog("请确定:最外排是红花还是黄花?输入red或者yellow");

int row[]=new int[26];

int sum[]=new int[26];

row[0]=0;

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=="red")

{

System.out.println("当红花在最外排时,红花一共有"+total_1+"盘,而黄花一共有"+total_2+"盘。");

}

else if(outColor=="yellow")

{

System.out.println("当黄花在最外排时,红花一共有"+total_2+"盘,而黄花一共有"+total_1+"盘。");

}

else if(outColor!="red"&&outColor!="yellow")

{

System.out.println("没有"+outColor+"的颜色的花");

}

}

}

解析:

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是判断字符是否想同。

你可以到网上多搜点资料看看。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求作文人物素材,推荐六个人,可以写的方面多的,不要烂大街的。谢谢 运动会上的加油稿,不要百度上烂大街的东西。 运动会的加油稿,不要百度上烂大街的那种,一百字。 报考PETS考试(全国公共英语等级考试) 在哪里可以报名,什么时间考试? 郑州报名pets考试 怎么报名 四不像动物的学名叫什么 有哪些的拼音 为什么买西瓜的,总喜欢撑红伞 英雄联盟推荐几个好用的英雄吧 谢? 英雄联盟最好上手的英雄 这个java代码中的continue是直接跳过switch还是跳出if或else去运行brea... ...在玻璃的___侧,寒冷的冬天,开着暖气的房间内,“ ...冬季和夏季小水滴分别附着在玻璃窗的( ) A.内表面、外 《过水鱼》的做法 ...玻璃窗出现小水珠,水珠是在玻璃窗的 (内、外)表面... 草鱼怎么做好吃 推荐草鱼的烹饪方法 法定节假日解释是什么 美国交换生需要准备什么 《向风而行》结局 黄鳝死了后还能吃吗? 喝水有讲究,家长要注意这几种水不能给孩子喝 黄鳝死了多久就不能吃了 孩子喝水有讲究,家长要注意这4种水不能给孩子喝 有些水孩子千万不要喝,这是什么原因呢? 瓷砖泡水都有哪些讲究装修必备小知识 装修知识之瓷砖怎么分类,装修之前先了解 家庭装修选瓷砖,关于瓷砖的这些知识你都了解清楚了吗? 装修必看瓷砖知识——如何挑选瓷砖,小蜜蜂瓷砖怎么样? 为什么我发的作品都看不到浏览记录? 一道数学题(写出详细的过程) 空调内机漏水是什么原因造成的呢? 自己把勺子用断了什么预兆 关于德莱尼人种族特长“宝石切割”(珠宝加工技能+5) 内机漏水是什么原因? vivo手机热点如何设置密码? 魔兽世界LR选什么种族好 WOW LM练LR选什么种族比较好啊 准备玩WOW了 想练个猎人 联盟的 请问什么种族的猎人好点 还有性别影响... 德莱尼SM学什么生活技能,宝石跟工程行不行?老玩家指点下,谢谢了_百 ... 练LR什么种族好些? 电机保护器怎么选型 mate20pro无线充电设置 Y系列三相异步电动机用途应用 华为mate20pro和x区别 如何关闭支付宝新业务-花呗? 单位退个税入什么科目 个税手续费做什么科目 个税手续费走什么科目 电脑睡眠和休眠有什么不同? 环保税走什么会计科目