问题:求三位数中,百,十,个的立方和就是该数
public class first{
public static void main(String args[])
{
int a,b,c,i;
a>=1&&a<=9;      
b>=0&&b<=9;
c>=0&&c<=9;
for(i=100;i<=999;i++)
{
if(a*100+b*10+c==i&&a*a*a+b*b*b+c*c*c==i)
System.out.println("i="+i);
}
}
}后续问题:就是如果把啊a,b,c用for语句来表达如for(a=1;a<=9;a++)·····的话
可以运行
但是为什么那样(上述a>=1&&a<=9;  ······)就不行
是初学
所以有些问题抠得很死
请高人解答下
谢意

解决方案 »

  1.   

    你那是条件表达式,用于判断常用在if、while语句中。
      

  2.   

    表达式运算问题,LZ用&&运算,是逻辑运算会返回一个布尔值,应在表达式前加一个变量接收逻辑运算的返回值:
    c = a>=1&&a<=9,c=1说明1<=a<=9,反之就不满足
      

  3.   

    楼主的算法有问题,三位数中个、十、百位上的数应该是在for循环中来取,不应该在for循环外,同时,你前面的语句:
    a>=1&&a<=9;   
    b>=0&&b<=9;
    c>=0&&c<=9;
    也有问题的。看看这个:public class first{
    public static void main(String args[])
    {
      int a,b,c,i;
      for(i=100;i<=999;i++)
      {
        a = i%100;//取i的百位数,好像是这样的吧。如果不对,楼主自己改正吧
        b = (i-a*100)%10;
        c = i-a*100-b*10;
        if(a*a*a+b*b*b+c*c*c==i)
          System.out.println("i="+i);
      }
    }
    }
      

  4.   


    //条件表达式,要么为1,要么为0
    a>=1&&a<=9;   
    b>=0&&b<=9;
    c>=0&&c<=9;
    public class first{
    public static void main(String args[]){
    int a,b,c;
    for(int i=100;i<1000;++i){
    a=i/100;
    b=i/10%10;
    c=i%10;
    if(i == a*a*a+b*b*b+c*c*c)
    System.out.println("i="+i);
     }
     }
    }
      

  5.   

    public class Demo5 {
         public static void main(String[] args) {
    int a,b,c,i;

    for( i=100;i<1000;i++)
    {   
    a=i/100;
    b=(i-a*100)/10;
    c=i-a*100-b*10;
           if(a*a*a+b*b*b+c*c*c==i){
    System.out.print(i+" ");
           }
            }
       }}注:a>=1&&a<=9;   
         b>=0&&b<=9;
         c>=0&&c<=9;这是逻辑运算不是赋值。
      

  6.   

    这是典型的想当然的写法,想当然的把计算机当成了你
    你给出的
    a>=1&&a<=9;   
    b>=0&&b<=9;
    c>=0&&c<=9;
    你自己当然可以看明白,但是计算你它就是个机器,你必须要清清楚楚的说明它该怎么做才行。
    具体程序可以参看楼上各位的。
    另外注意,楼主的结帖率又是零,赶紧去把以前的帖子结掉吧,否则,这样的成绩在论坛里是很不好混的。
      

  7.   

    for(int i=100;i<=999;i++){
    String str=i+"";
    String[] s=str.split("");
    int n1=Integer.parseInt(s[1]);
    int n2=Integer.parseInt(s[2]);
    int n3=Integer.parseInt(s[3]);
    int num=n1 * n1 * n1 + n2 * n2 * n2 + n3 * n3 * n3;
    if(i==num){
    System.out.println(num);
    break;
    }

    }
    绝对可以!不信试试
      

  8.   

    看看java基础吧,代码不是这么写的,毕竟计算机不是人啊,它不懂的
      

  9.   

    呵呵,都是一些逻辑运算,要放在if语句中.这些可是java语言的基础哦
      

  10.   

    谢谢啊
    现在才登陆
    谢谢以上的回答的朋友
    因为我是刚学Java
    不管怎么样
    很感谢回帖的朋友
    谢意
    *^_^*