学习了java快一个月的时间了,在学习过程中,自己也动手编了一些小程序,有书本上的案例,也有按照自己的一些突然的想法编写出来的,暂时算做一个阶段性的总结。
程序:
自己编写的第一个程序是猜一个20以内的自然数
import java.util.Scanner;
import java.util.Random;
public class guessnumber{
public static void main(String[] args){
Random a = new Random();
Scanner b = new Scanner(System.in);
int num = a.nextInt(20);
boolean m = true;
System.out.print(“请输入20以内自然数:”);
while(m){
int guess = b.nextInt();
if(guess<0 || guess>=20){
System.out.print(“输入有误,请重新输入:”);
}
else if(guess==num){
System.out.print(“恭喜你猜对了!”);
m=false;
break;
}
else{
System.out.print(“遗憾猜错了,请继续:”);
}
}
}
}
运行结果大概是这个样
第二个程序是自己偶然突发奇想,想验证能被a整除的被除数所有位数之和也能被a整除,于是有了下面的程序,其中我觉得求被除数所有位数的和设计的十分巧妙。
import java.util.Scanner;
import java.util.ArrayList;
public class test{
public static void main(String[] args){
ArrayList numbase = new ArrayList();
Scanner sc = new Scanner(System.in);
System.out.println(“请输入测试数个数:”);
int b = sc.nextInt();
System.out.println(“请输入被除数:”);
int d = sc.nextInt();
for(int i=0;i<=b;i++){
if(i%d == 0){
numbase.add(i);
}
}
System.out.println(“数据个数:”+numbase.size());
int errow = 0;
for(int i=0;i<numbase.size();i++){
if (numadd(numbase.get(i))%d != 0){
errow++;
}
}
if(errow == 0){
System.out.println(“全部符合”);
}
else{
System.out.println(“不符合数据个数为:”+errow);
}
}
public static int numadd(int num){
int a,sum=0;
boolean c=true;
while©{
a = num%10;
num = num/10;
sum = sum + a;
if (num == 0){
c = false;
}
}
return sum;
}
}