黑马程序员技术交流社区

标题: Java基础练习题1 [打印本页]

作者: 执梦而行    时间: 2015-3-7 11:37
标题: Java基础练习题1
编写程序,检测一个数是否能被2和3整除,是被2还是3整除,是否只能被2或3两者中的一个整除。
作者: Johnny_Hu    时间: 2015-3-7 12:54
  1. package com.itheima;
  2. import java.util.*;
  3. public class Demo2 {
  4.         /*
  5.          * 检测一个数是否能被2和3整除,是被2还是3整除,是否只能被2或3两者中的一个整除。
  6.          */

  7.         public static void main(String[] args) {
  8.                 Scanner in = new Scanner(System.in);
  9.                 System.out.print("请输入一个整数:");
  10.                 int num = in.nextInt();
  11.                 if(num%2==0 && num%3==0)
  12.                 {
  13.                         System.out.print("能被2跟3整除");
  14.                 }
  15.                 else if(num%2==0 || num%3!=0)
  16.                 {
  17.                         System.out.print("只能被2整除");
  18.                 }
  19.                 else if(num%2!=0 || num%3==0)
  20.                 {
  21.                         System.out.print("只能被3整除");
  22.                 }
  23.         }
  24. }
复制代码

是不是这样的效果
作者: ZZGFF    时间: 2015-3-7 13:03
  1. Scanner sc = new Scanner(System.in);
  2.                 System.out.println("请输入一个数:");
  3.                 int shu = sc.nextInt();
  4.                
  5.                 if (shu % 2 == 0 || shu % 3 == 0) {
  6.                         //这个判断要放在首位 以为else if  走了if就不走else if了
  7.                         if (shu % 2 == 0 && shu % 3 == 0) {
  8.                                 System.out.println("这个数既能被2整除也能被3整除");
  9.                         }else if (shu % 2 == 0) {
  10.                                 System.out.println("这个数被2整除");
  11.                         } else if (shu % 3 == 0) {
  12.                                 System.out.println("这个数被3整除");
  13.                         }

  14.                 } else {
  15.                         System.out.println("这个数不能既不能被2整除也不能被3整除");
  16.                 }
复制代码

作者: ZZGFF    时间: 2015-3-7 13:06
ZZGFF 发表于 2015-3-7 13:03

感谢。 话说新版主在黑马了么?
作者: ㏒假™面具    时间: 2015-3-7 13:09
Johnny_Hu 发表于 2015-3-7 12:54
是不是这样的效果

这段代码不准确吧?
num%2==0||num%3!=0
|| 的特点是左边的表达式为true,右边就不再参与运算,这样就有两种情况:
1.被2整除,被3整除
2.被2整除,不被3整除。
num%2!=0||num%3=0判断的就是只要不被2整除,就可以被3整除,显然不正确。
作者: Johnny_Hu    时间: 2015-3-7 13:13
㏒假™面具 发表于 2015-3-7 13:09
这段代码不准确吧?
num%2==0||num%3!=0
|| 的特点是左边的表达式为true,右边就不再参与运算,这样就有 ...

你看看 我最上面还有个判断啊  
if(num%2==0 && num%3==0)
{
      System.out.print("能被2跟3整除");
}
如果输入的数字能被2跟3整除  就只会执行第一个判断了啊  不会再执行下面的两个判断了
作者: huangchunwei    时间: 2015-3-7 13:15
都好棒啊。。。我得加油了。
作者: Johnny_Hu    时间: 2015-3-7 13:15
ZZGFF 发表于 2015-3-7 13:06
感谢。 话说新版主在黑马了么?

版主应该都是黑马的内部人在管理吧
我也是猜的  兄弟进黑马了?
作者: ZZGFF    时间: 2015-3-7 13:19
Johnny_Hu 发表于 2015-3-7 13:15
版主应该都是黑马的内部人在管理吧
我也是猜的  兄弟进黑马了?

不是啊,没进呢, 版主是可以申请的 ,版主不是内部的人。
作者: Johnny_Hu    时间: 2015-3-7 13:25
ZZGFF 发表于 2015-3-7 13:19
不是啊,没进呢, 版主是可以申请的 ,版主不是内部的人。

是这样啊  我之前一直以为要内部人管理的 :P
作者: ㏒假™面具    时间: 2015-3-7 13:26
Johnny_Hu 发表于 2015-3-7 13:13
你看看 我最上面还有个判断啊  
if(num%2==0 && num%3==0)
{

举个例子吧~~~7。。。按照你的代码  打印出来的是什么? “只能被3整除”
作者: Johnny_Hu    时间: 2015-3-7 13:27
㏒假™面具 发表于 2015-3-7 13:26
举个例子吧~~~7。。。按照你的代码  打印出来的是什么? “只能被3整除”

我这里是显示只能被2整除  我再改下  不好意思啊
作者: Johnny_Hu    时间: 2015-3-7 13:32
  1. package com.itheima;
  2. import java.util.*;
  3. public class Demo2 {
  4.         /*
  5.          * 检测一个数是否能被2和3整除,是被2还是3整除,是否只能被2或3两者中的一个整除。
  6.          */
  7.        
  8.         public static void main(String[] args) {
  9.                
  10.                 Scanner in = new Scanner(System.in);
  11.                 System.out.print("请输入一个整数:");
  12.                 int num = in.nextInt();
  13.                 if(num%2==0 || num%3==0)
  14.                 {
  15.                         if(num%2==0 && num%3==0)
  16.                         {
  17.                                 System.out.print("能被2跟3整除");
  18.                         }
  19.                         else if(num%2==0 || num%3!=0)
  20.                         {
  21.                                 System.out.print("只能被2整除");
  22.                         }
  23.                         else if(num%2!=0 || num%3==0)
  24.                         {
  25.                                 System.out.print("只能被3整除");
  26.                         }               
  27.                 }
  28.                 else{
  29.                         System.out.print("都不能被2跟3整除");
  30.                 }
  31.                
  32.         }      
  33. }
复制代码

这下可以了  :)
作者: 金康俊    时间: 2015-3-7 14:14
  1. import java.util.Scanner;
  2. public class test{
  3.         public static void main(String[] args){
  4.                 for(int i=1;i<2;){
  5.                         Scanner input=new Scanner(System.in);
  6.                         System.out.println("请输入一个数字:");
  7.                         int num=input.nextInt();
  8.                         jiance(num);
  9.                 }
  10.         }
  11.         public static void jiance(int n){
  12.                 if(n%2==0&&n%3==0){
  13.                         System.out.println("该数可同时被2和3整除");
  14.                 }
  15.                 else if(n%2==0^n%3==0){
  16.                         if(n%2==0){
  17.                                 System.out.println("该数可以被2整除且不能被3整除");
  18.                         }
  19.                         else{
  20.                                 System.out.println("该数可以被3整除且不能被2整除");
  21.                         }
  22.                 }
  23.                 else{
  24.                         System.out.println("该数不可被2和3整除");
  25.                 }
  26.         }
  27. }
复制代码

作者: 执梦而行    时间: 2015-3-7 16:36
  1. import java.util.Scanner;
  2. class  Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Scanner input=new Scanner(System.in);

  7.                 System.out.print("Enter an integer: ");
  8.                 int number=input.nextInt();
  9.                 System.out.println("Is"+number+
  10.                         "\n\t divisible by 2 and 3 ?"+
  11.                         (number % 2 == 0 && number % 3 == 0 )+      //检验一个数是否能被2和3整除
  12.                         "\n\t divisible by 2 or 3 ?"+
  13.                         (number % 2 == 0 || number % 3 == 0 )+      //检验一个数是否能被2或3整除
  14.                         "\n\t divisible by 2 or 3,but not both?"+
  15.                         (number % 2 == 0 ^ number % 3 == 0));       //检验一个数是否只能被2或3两者中一个整除
  16.         }
  17. }
复制代码

作者: 勇闯☀☀黑马    时间: 2015-3-7 17:25
还没学到这呢





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2