第四章
练习4
写一个程序,使用两个嵌套的for循环和取余操作符来探测和打印素数
public static void main (String args[])
{
int i,j;
for(i=2;i>0;i++)
{
boolean a=true;
for(j=2;j<i;j++)
{if(i%j==0)
a=false;
}
if(a==true)
System.out.println(i+"是素数"
练习五
重复第3章中的练习10,不要用Integer.toBinaryString()方法,而是用三元操作符和按位操作符来显示二进制的1和0
第三章练习十
package exercise1;
//exercise1.java
/*@author maoyuanhui*/
import java.util.*;
public class exercise1
{
public static void main (String args[])
{
int i=0x666666;
int j=0x555555;
System.out.println("i="+Integer.toBinaryString(i));
System.out.println("j="+Integer.toBinaryString(j));
System.out.println("~i="+Integer.toBinaryString(~i));
System.out.println("~j="+Integer.toBinaryString(~j));
System.out.println("i&j="+Integer.toBinaryString(i&j));
System.out.println("i|j="+Integer.toBinaryString(i|j));
System.out.println("j^i="+Integer.toBinaryString(j^i));
}
}
练习五我学艺不精, 不会改
练习六:
package exercise1;
//exercise1.java
/*@author maoyuanhui*/
import java.util.*;
public class exercise1
{
public static int test2(int begin,int a,int end)
{
if(a>begin&&a<end)
return 1;
else
return -1;
}
public static void main (String args[])
{
int result=0;
result=test2(5,8,7);
if(result==1)
System.out.println("在begin和end范围内");
else
System.out.println("在begin和end范围外");
}
}
练习七:修改本章练习1,通过使用break关键词,使得程序在打印99时退出。然后尝试使用return来达到相同的目的。
package exercise1;
//exercise1.java
/*@author maoyuanhui*/
import java.util.*;
public class exercise1
{
public static void main (String args[])
{
int i;
for(i=1;i<=100;i++)
{System.out.println(i);
if(i==99)
break; //break
}
}
}
练习八:写一个switch开关语句,为每个case打印一条消息。然后把这个switch放进for循环来测试每个case。先让每个case后面都有break,测试一下会怎样,然后把break删了,看看会怎样。
package exercise1;
import java.util.*;
//exercise1.java
/*@author maoyuanhui*/
import java.util.*;
public class exercise1
{
public static void main (String args[])
{
int i;Random rand= new Random(47);
for(i=0;i<20;i++)
{
int c =rand.nextInt(5);
System.out.println(c);
switch(c) {
case 0:
System.out.println("中午吃什么");
case 1:
System.out.println("瓦香鸡");
case 2:
System.out.println("牛肉面");
case 3:
System.out.println("麻辣香锅");
case 4:
System.out.println("石锅肉片");break;
default:
System.out.println("不吃了");break;
}
}
}
}
练习九:一个斐波那契数列由数字1、1、2、3、5、8、13、21、34等等组成的,其中每个数字(第三个数字起)都是前两个数字的之和。创建一个方法,接受一个整数参数,并显示从第一个元素开始总共由该参数指定的个数所构成的所有斐波那契数字
package exercise1;
import java.util.*;
//exercise1.java
/*@author maoyuanhui*/
import java.util.*;
public class exercise1
{
public static void Fibonacci(int n)
{
int i;
int a[]=new int [n];
a[0]=1;a[1]=1;
System.out.println(a[0]);
System.out.println(a[1]);
for(i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];
System.out.println(a[i]);
}
}
public static void main (String args[])
{
Fibonacci(25);
}
}
练习十:吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字包含乘积一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如,下列数字就是“吸血鬼”数字:
1260 = 21*60
1827 = 21*87
2187 = 27*81
写一个程序,找出4位数的所有吸血鬼数字。
package exercise1;
import java.util.*;
//exercise1.java
/*@author maoyuanhui*/
import java.util.*;
public class exercise1
{
public static void xixuegui()
{
int i,j;
for(i=10;i<100;i++)
{
for(j=i+1;j<100;j++)
{
int result=i*j;
{
if(result>9999&&result<1000)
continue;
}
int []a= {result%10,(result%100)/10,(result%1000)/100,result/1000};
int []b= {j/10,j%10,i/10,i%10};
Arrays.sort(a);
Arrays.sort(b);
if(Arrays.equals(a,b))
System.out.println(result+"是吸血鬼数");
}
}
}
public static void main (String args[])
{
xixuegui();
}
}