Topic: 新手学JAVA郁闷(一) (= and ==)

  Print this page

1.新手学JAVA郁闷(一) (= and ==) Copy to clipboard
Posted by: 80年代下的蛋
Posted on: 2006-08-10 04:10

小弟刚刚接触JAVA属于没有一点编程基础的脑子。。。现在把一些遇到的比较郁闷的问题和 像小弟一样的初学者一起分享。。。。本人水平只是比不会稍微高一点。。。。请大家指教

今天终于把JAVA的运算全部看完了 于是就做了书后的练习 接着就发生了让我十分郁闷的事情。。。
题目是这样的:
试编写一个程序 用于判断一个整数n(1000>n>100)的奇偶性,如果为偶数,则输出大写字母"A" 否则,输出大写字母“B”

于是我轻车熟路的写完了这一段代码 以为完全正确能过通过编译。。。。
public class Lianxi8{
public static void main(String[] args){
int n=102;
int m=n%2;
System.out.println((n>100)&&(n<1000)&&(m=0)?"A":"B");
}
}

可是。。。当我编译的时候确一直出现问题。。。我就这样反复的寻找错误,兜了很大一个圈子。。。还是不行以为自己的思路错了。。反复的改反复的编译,用了1个半小时的时间。。。还是不行。。。我差点绝望 于是我又翻了一遍书 忽然发现一个及其低级的错误。。。“=”是赋值运算符 而我在红色标注的代码这里应该要用比较运算符“==”。。。。就这个多一个等号让我浪费了整整一个晚上。。。。心疼。。。。这么小的一个问题哎。。。。还是应该要把书里的东西记熟。。。。还好。。。。又完成一个代码。。。心里还是很兴奋了。。。当编译通过的时候 兴奋的差点叫出来。。。一个小时的=号问题终于解决了。。。

正确的代码是这样的:

public class Lianxi8{
public static void main(String[] args){
int n=102;
int m=n%2;
System.out.println((n>100)&&(n<1000)&&(m==0)?"A":"B");
}
}

只是一个=号的差别啊。。。。

还是要多看书啊。。。。。要熟记啊。。。。

不知编写的是否正确。。。。如果真的有思路问题,请大家告诉我啊。。。。

2.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: why
Posted on: 2006-08-10 07:32


C:\Temp>javac Lianxi8.java
Lianxi8.java:5: operator && cannot be applied to boolean,int
System.out.println((n>100)&&(n<1000)&&(m=0)?"A":"B");
^
1 error


Eclipse would highlight "m=0" and provide the following error message:
Syntax error, insert ": Expression" to complete Expression

真的要"反复的寻找错误"嗎?
善用工具,事半功倍

3.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: 80年代下的蛋
Posted on: 2006-08-10 12:50

因为刚刚开始自学//所以这些看不懂。。。

4.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: vampire423
Posted on: 2006-08-14 15:48

最好用开发工具,像Eclipse在你编写代码的时候就会提示你这种错误,不用等到编译时才暴露。

5.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: cxp108
Posted on: 2006-08-14 16:35

80年代下的蛋 wrote:

System.out.println((n>100)&&(n<1000)&&(m==0)?"A":"B");


不要编写这样的代码!!!
特别是你以后参加工作后!这种代码绝对不是编程高手的标志!
这种代码往往是程序致命伤所在,而且它可能隐藏得很深,你将需要大量的精力将它挖掘出来!
尽量做到一行代码做一件事。

6.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: renaldo
Posted on: 2006-08-18 13:07

这个编译错误其实也是java高明的地方:

因为在C/C++里面这样的程序编译是不会抛错的,因此一旦发现程序有了问题,找错误是很困难的

7.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: leange
Posted on: 2006-08-18 13:43

编写风格要学习一下其他人的,你那代码看起来就费力啊!

8.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: awf4250751
Posted on: 2006-08-25 22:20

应该尽量养成一种好的习惯!!!

9.Re:新手学JAVA郁闷(一) (= and ==) [Re: 80年代下的蛋] Copy to clipboard
Posted by: Charlemagne
Posted on: 2006-08-27 22:24

刚开始学就用elipse的人不多吧!
走点弯路,发现自己的不足之处也是进步啊!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923