1.输出100以内的质数。质数也教素数,只能被1和他本身整除的自然数。
public class t1 {
public static void main(String[] args){
boolean b = true;//用来表示“这个数”是否为质数
for(int i = 2;i <= 100;i ++){//100以内数的遍历
//判断其是否为质数
for(int j = 2;j < i;j ++){
if(i % j == 0){
b = false;
}
}
if(b){//如果b为true,则输出i
System.out.println(i);
}
b = true;//当判断完一个数之后,b的值重新赋成true
}
}
}
2.输入两个正整数m和n,求其最大公约数和最小公倍数。
public class t2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int max = (a>b?a:b);//找出较大值
int min = (a
3、一个数如果恰好等于它的因子之和,这个数就称为"完全数"。(因子:除去这个数本身的约数)。(例:6=1+2+3)
public class t3 {
public static void main(String[] args) {
Scanner iScanner=new Scanner(System.in);
int a=iScanner.nextInt();
int sum=0;
for(int i = 1;i <= a/2;i++) {
if(a%i == 0) {//找出因子
sum += i;//因子累加
}
}
if(sum == a) {//判断因子和是否等于本身(判断完全数)
System.out.println(a+"是完全数");
}else {
System.out.println(a+"不是完全数");
}
}
}
4、给一个1~10的数,求阶乘。(例:5!=1* 2 *3 *4 *5=120)
代码:
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int num=input.nextInt();
if (num>0&&num<10) {
if(num==1) {
System.out.println("1*1=1");
}else {
int sum=1;
System.out.print(num+"!=");
for(int i=1;i<=num;i++) {
sum*=i;//求阶乘值
if (num!=i) {
System.out.print(i+"*");//输出*
}else {
System.out.print(i+"=");//输出=
}
}
System.out.println(sum);
}
}
}
}
运行结果:
5
5!=1*2*3*4*5=120
5、编写JAVA程序,实现输出1–100之间所有不能被7整除的数,并求和要求:每输出4个数据换行显
代码:
public class t5 {
public static void main(String[] args) {
int count = 0;
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i%7 != 0) { //if嵌套
count++; //记录每行个数
sum += i; //记录不被7整除的数的总和
System.out.print(i+"t");
if (count%4 == 0) { //每行个数满4个,则换行
System.out.println();
}
}
}
System.out.println("和为:"+sum);
}
}
运行结果:
1 2 3 4
5 6 8 9
10 11 12 13
15 16 17 18
19 20 22 23
24 25 26 27
29 30 31 32
33 34 36 37
38 39 40 41
43 44 45 46
47 48 50 51
52 53 54 55
57 58 59 60
61 62 64 65
66 67 68 69
71 72 73 74
75 76 78 79
80 81 82 83
85 86 87 88
89 90 92 93
94 95 96 97
99 100 和为:4315
6、假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”结束交易。如果用户密码正确,再提示用户输入金额(amout),ATM机只能输出100元的纸币,一次取钱要求最低0元,最高1000元,如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。假设用户密码是111111。[二重循环]
public class t6 {
public static void main(String[] args) {
Scanner inputScanner = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
if(i == 3) {
System.out.println("密码错误,请取卡!");
}else {
System.out.print("请输入密码:");
String pwd=inputScanner.next();
while ("111111".equals(pwd)) {
System.out.print("请输入金额:");
int amount=inputScanner.nextInt();
if(amount>0 && amount <= 1000 && amount %100 == 0) {
System.out.println("您取的金额为:"+amount);
System.out.println("交易完成,请取卡");
break;
}else {
System.out.println("请重新输入金额!");
}
}
}
}
}
}
运行结果:
请输入密码:11
请输入密码:111
请输入密码:111111
请输入金额:200
您取的金额为:200
交易完成,请取卡
7、输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身
```java
public class t7 {
public static void main(String[] args) {
for (int i=100;i<1000;i++) {
int ge=i%10;
int shi=i/10%10;
int bai=i/100;
if(i == ge*ge*ge+shi*shi*shi+bai*bai*bai) {
System.out.print(i+"t");
}
}
}
}
运行结果:
153 370 371 407
8、打印九九乘法表
public class t8 {
public static void main(String[] args) {
for (int j= 1; j <= 9; j++) {//控制行数
for(int i = 1; i <= j; i++) {//控制每行的个数
System.out.print(j+ "*" + i + "=" + j*i + "t");
}
System.out.println();
}
}
}
运行结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81



