java基础练习题
来源:互联网 发布:联合作战指挥体系 知乎 编辑:程序博客网 时间:2024/05/16 11:51
1.一个10位进制的数用2进制表示打印出来。
2进制: 0b 或0B 大小写都行。
8进制: 0. 输入的大于9就报错,
因为是8进制。
16进制: 0x 或0X 大小写都可。
2.求100-200的素数并打印出来。
public static void main(String[] args) {
boolean flag = true;
//是素数的个数,初始值为0;
int count = 0;
//100~200的范围,定义一个int型变量赋初始值。
int digit = 101;
//for循环,依次从100到200进行循环运算。
for (; digit <= 200; digit++) {
//嵌套for语句,数值i用 选择语句( i <= Math.sqrt(digit);),从
//2开始到他本身进行比较运算。
for (int i = 2; i <= Math.sqrt(digit); i++) {
//判断语句,当i的值为0时,说明这个数本身不是素数。
if (digit % i == 0) {
//
flag = false;
//跳出跟他最近 的for循环
break;
}
}
//如果不是假,那就是真,运行下面的程序。
if (flag)
//当flag为真时,就是一个素数,进行输出这个数,并且个数加 1;
System.out.println(digit + "* " + (++count));
flag = true;
}
}
}
结果如下图:
int min=(int)(Math。pow(10,length-1));
int max=(int)(Math。pow(10,length)-1);
3.求3位数的水仙花数 abc=a*a*a+ b*b*b+ c*c*c
int res=0;
for(int i=100;i<=999;i++){
int k=i;
while(k>=1){
int bit=k%10;
res=res+bit* bit * bit;
k=k/10;
}
if(res==i)
System.out.println(i);
res=0;
}
}
}
结果为:
4.求n位的水仙花数。
int length=new Scanner(System.in).nextInt();
int res=0;
int min=(int)Math.pow(10, length-1);
int max=(int)(Math.pow(10, length)-1);
//三位数的遍历
for(int i=min;i<=max; i++){
int k=i;
//while里面的每个数都分解成单个的数
while (k>=1){
int bit=k%10;
res=(int) (res+Math.pow(bit, length));//水仙花数的计算公式。
k=k/10;
}if(res==i)
System.out.println(i);
res=0;
}
}
10.1进制转换成2进制的程序。
int digit =23;
String res="";
while (digit >0){
int sth=digit %2;
res=res+sth;
digit=digit/2;
}
System.out.println(res);
//输出字符串的字节数。
System.out.println(res.length());
//反向输出
for(int i=res.length()-1;i>=0;i--)
System.out.print(res.charAt(i));
}
}
10.2进制转换成2/8/16进制的程序。
//程序bug:16进制输出的结果不对。
public static void main(String[] args) {
System.out.println("输入一个数:");
int digit=new Scanner(System.in).nextInt();
System.err.println("输入要转成的进制");
int jinzhi=new Scanner(System.in).nextInt();
switch(jinzhi){
case 2:
ten2x(digit, jinzhi);
break;
case 8:
ten2x(digit, jinzhi);
break;
case 16:
ten2x(digit, jinzhi);
break;
}
}
//子方法模块:
public static void ten2x(int digit, int jinzhi) {
String res = "";
while (digit > 0) {
int sth = digit % jinzhi;
res = res + sth;
digit = digit / jinzhi;
}
for (int i = res.length() - 1; i >= 0; i--)
System.out.print(res.charAt(i));
System.out.println();
}
}
10.3
11. //对于2进制,左移n位,数字扩大2的n次方倍,右移n位,数字缩小2的n次方倍。
//移位比普通的+ —运算速度快的多。
public static void main(String[] args) {
System.out.println(16<<2);
System.out.println(16>>2);
}
}
10.4
// 1 1 2 3 5 8 13 21 .....费波纳切数列。第n个月的兔子对数
public class Demo1 {
public static void main(String[] args) {
int total = 0;
int month = 7;
int a = 1;
int b = 1;
if (month == 1)
total = 1;
else if (month == 2)
total = 1;
for (int i = 3; i <= month; i++){
total = a + b;
a = b;
b = total;
}System.out.println(total);
}
}
0 0
- JAVA基础练习题4.2
- Java基础练习题
- JAVA基础练习题总结
- java基础 2练习题
- Java基础练习题
- java基础经典练习题
- java基础练习题
- java基础的练习题
- java基础经典练习题
- java基础练习题
- Java语法基础练习题
- Java语法基础练习题
- Java语法基础练习题
- Java语法基础练习题
- Java语法基础练习题
- Java语法基础练习题
- Java语法基础练习题
- Java基础练习题
- iOS toolchain for bash on windows
- CodeForces 664A Complicated GCD
- UVA 11178 Audiophobia 几何基础
- CodeForces 663A Rebus
- [二分]取余运算||快速幂
- java基础练习题
- 二叉树的创建与遍历
- spring大文件分块上传原理解析
- 序列化与反序列化
- GDI+ Bitmap与WPF BitmapImage的相互转换
- 循环结构
- mac 启动tomcat
- Core Data入门
- 查看windows8激活状态