Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 519|回复: 0
打印 上一主题 下一主题

JAVA新人求救!!!

[复制链接]

9

主题

11

好友

303

积分

超级会员

Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

跳转到指定楼层
1#
发表于 2014-10-19 06:55 PM |只看该作者 |倒序浏览
我是java新人 在写着一个计算程序,用来测试perfect num, excessive num和decessive num

在program里 我必须拿到的input是:
1) amount of number to be tested (how many times to loop)
2) 一个整数

output则是:
1) list of divisor of the input
2) sum of the divisors
3) message state the result

我遇到的问题是 我已经成功做到input的部分了 可是不能得到那些号码的所有output和result
请问我是少了什么呢? 还是code的编排不对? 求高手指点 谢谢!

  1. import java.util.*;
  2. public class Numbers {

  3.         public static void main(String[]args){
  4.         
  5.         Scanner input =new Scanner(System.in);
  6.         int x=0;
  7.         int y=0;
  8.         int z=0;
  9.         int sum=0;

  10.         while (true)
  11.         {
  12.                 System.out.println("How many numbers will you enter?");
  13.                
  14.                 try
  15.                 {
  16.                        int size = input.nextInt();
  17.                        System.out.println("Enter any number.");
  18.                       
  19.                         for(x =0; x < size; x++)
  20.                         {
  21.                                 System.out.println("Number "+(x+1)+"?");
  22.                                
  23.                                int num = input.nextInt();
  24.                         if( num >= 6 && num <= 1000)
  25.                     {
  26.                             System.out.println("Factors are:");
  27.                         for(int i = 1; i < num; i++)
  28.                         {
  29.                                 if(num % i == 0)
  30.                                 {
  31.                                         z = z+i;
  32.                                         System.out.println(i);
  33.                                 }
  34.                         }
  35.                        if(z==num)
  36.                        {
  37.                             System.out.println("It is a perfect number.");
  38.                        }
  39.                        if(z>num)
  40.                        {
  41.                                        System.out.println("It is an excessive number.");
  42.                        }
  43.                        if(z<num)
  44.                        {
  45.                                        System.out.println("It is a defective number.");
  46.                        }
  47.                     }
  48.                    else
  49.                    {
  50.                            System.out.println("It is not a valid number. Please reenter a number that is in the range of 6 to 1000.");
  51.                            continue;
  52.                    }
  53.                         }
  54.                 }
  55.                 catch(InputMismatchException e)
  56.                 {
  57.                         input.next();
  58.                 System.out.println("Input Type Error! Please enter an integer.");
  59.                 System.out.println();
  60.                 continue;
  61.                 }
  62.         }
  63.         }
  64. }


复制代码




收藏收藏0
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-12-26 02:40 PM , Processed in 0.109195 second(s), 27 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部