01.题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能
被整除, 则表明此数不是素数,反之是素数。
public class Test_01 {
public static void main(String[] args) {
int count=0;
for(int i=101;i<200;i++) {
boolean b=false;
for(int j=2;j<=Math.sqrt(i);j++) {
if(i%j==0) {
b=false;
break;
}
else {
}
b=true;
}
if(b==true) {
count++;
System.out.println(i);
}
}
System.out.println("素数总数是:"+count);
}
}
02.题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其
各位数字立方和等于该数本身。
例如:153是一个"水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
public class Test02 {
public static void main(String[] args) {
System.out.println("所有水仙花数是:");
int a,b,c;
for(int i=100;i<1000;i++) {
a=i/100;
b=i%100/10;
c=i%10;
if(i==(a*a*a+b*b*b+c*c*c)) {
System.out.println(i);
}
}
}
}
03.将一个正整数分解质因数
import java.util.*;
public class Test03 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.print("请键入一个正整数:");
int n=s.nextInt();
int k=2;
System.out.print(n+"=");
while(k<=n) {
if(k==n){
System.out.print(k);
break;
}else if(n%k==0){
n=n/k;
System.out.print(k+"*");
}else
k++;
}
}
}
04.利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89
分之间的用B表示,60分以下的用C表示。
import java.util.*;
public class Test05 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.print("请输入一个成绩:");
int n=s.nextInt();
/*
* if(n>=90) { System.out.print("成绩为A"); }else if(n>=60)
{
* System.out.print("成绩为B"); }else { System.out.print("
成绩为C"); }
*/
char grade;
grade=n>=90?'A'
:n>=60?'B'
:'C';
System.out.print("等级为:"+grade);
}
}
05.题目:输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
import java.util.*;
public class Test06 {
public static void main(String[] args) {
System.out.print("请输入第一个整数:");
Scanner s=new Scanner(System.in);
int a=s.nextInt();
System.out.print("请输入第二个整数:");
int b=s.nextInt();
deff cd=new deff();
int m,n;
m=cd.deff(a,b);
n=a*b/m;
System.out.print("最大公约数是:"+m);
System.out.print("最小公倍数是:"+n);
}
}
class deff{
public int deff(int x,int y) {
int t;
if(x
import java.util.*;
public class Test07 {
public static void main(String[] args) {
char[] ch=null;
int digital=0;
int character=0;
int blank=0;
int other=0;
Scanner sc=new Scanner(System.in);
System.out.print("请输入一行字符:");
String s=sc.nextLine();
ch=s.toCharArray();
for(int i=0;i='0'&&ch[i]<='9') {
digital++;
}else
if((ch[i]>='a'&&ch[i]<='z')||(ch[i]>='A'&&ch[i]<='Z')) {//此处别
忘加括号
character++;
}else if(ch[i]==' ') {
//此处应该是两个=
blank++;
}else {
other++;
}
}
System.out.println("数字个数:"+digital);
System.out.println("字母个数:"+character);
System.out.println("空格个数:"+blank);
System.out.println("其他个数:"+other);
}
}
07.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
import java.util.*;
public class Test08 {
public static void main(String[] args) {
long a,b=0,sum=0;
Scanner s=new Scanner(System.in);
System.out.print("请输入一个数字:");
a=s.nextInt();
System.out.print("请输入相加的项数:");
int n=s.nextInt();
int i=1;
while(i<=n) {
b=a+b;
sum=sum+b;
a=a*10;
i++;
}
System.out.println(sum);
}
}
08.题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1
+2+3.编程 找出1000以内的所有完数。
import java.util.*;
public class Test09 {
public static void main(String[] args) {
System.out.println("1000以内所有的完数为:");
for(int i=1;i<1000;i++) {
int sum=0;
for(int j=1;j<=i/2;j++) {
if(i%j==0) {
sum=sum+j;
}
}
if(sum==i) {
System.out.println(i);
}
}
}
}
09.题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在 第 10 次落地时,共经过多少米?第 10 次反弹多高?
public class Test10 {
public static void main(String[] args) {
double sum=0, h=100;
for(int i=1;i<10;i++) {
sum=sum+h;
h=h/2;
}
System.out.println("第十次落地时一共经过"+sum+"米");
System.out.println("反弹高度为"+h);
}
10. 题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三
位数?都是多少?
public class Test11 {
public static void main(String[] args) {
int count=0;
for(int x=1;x<5;x++) {
for(int y=1;y<5;y++) {
for(int z=1;z<5;z++) {
if(x!=y&&x!=z&&y!=z) {
count++;
System.out.println(x*100+y*10+z);
}
");
}
}
}
}
}
}
System.out.println("能组成"+count+"个互不相同且无重复的数字
11.题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完
全平方数,请问该数是多少?
public class Test13 {
public static void main(String[] args) {
for(int x=0;x<10000000;x++) {
if((Math.sqrt(x+100)%1==0)&&Math.sqrt(x+168)%1==0)
{//必须加上%1,否则输不出结果。
上168又是一个完全平方数");
System.out.println(x+"加上100后是一个完全平方数,再加
}
}
}
}
12.题目:输入某年某月某日,判断这一天是这一年的第几天?
import java.util.*;
public class Test14 {
public static void main(String[] args) {
int year,month,day;
int e;
int d=0;
e=0;
Scanner s=new Scanner(System.in);
System.out.print("请输入年:");
year=s.nextInt();
System.out.print("请输入月:");
month=s.nextInt();
System.out.print("请输入日:");
day=s.nextInt();
if(year<0||month<0||month>12||days<0||days>31) {
System.out.print("输入有误,请重新输入:");
e=1;
}
}while(e==1);
for(int i=1;i
}
}
13. 题目:输入三个整数x,y,z,请把这三个数由小到大输出。
import java.util.*;
public class test15 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in) ;
System.out.print("请输入第一个整数:");
int x=s.nextInt();
System.out.print("请输入第二个整数:");
int y=s.nextInt();
System.out.print("请输入第三个整数:");
int z=s.nextInt();
if(x>y) {
int t=x;
x=y;
y=t;
}
if(x>z) {
int t=x;
x=z;
z=t;
}
if(y>z) {
int t=y;
y=z;
z=t;
}
System.out.println("从小到大排序为:"+x+","+y+","+z);
}
}
14.题目:输出 9*9 口诀。
public class Test16 {
public static void main(String[] args) {
for(int i=1;i<10;i++) {
for(int j=1;j<=i;j++) {
System.out.print(i+"*"+j+"="+(i*j)+" ");
if(i*j<10) {
System.out.print(" ");
}
}