logo资料库

java小程序源代码(初学者练手用).doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被 4 整除但不能被 100 整除,则是闰年。 (2)若某个年份能被 400 整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); //定义输入的年份名字为“year” int year; Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); System.out.println(year+" is not bissextile "); else } } 2,给定一个百分制的分数,输出相应的等级。 90 分以上 80~89 70~79 60~69 60 分以下 A 级 B 级 C 级 D 级 E 级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。 if(mark<0||mark>100){
System.out.println("输入有误! "); System.exit(0); } /*判断分数的等级 90 分以上者 A 级, 80~89 分者 B 级,70~79 分者 C 级, 60~69 者 D 级,60 分以下 E 级 */ if (mark>=90) System.out.println("this mark is grade \'A\' "); else if (mark>=80) System.out.println("this mark is grade \'B\' "); else if (mark>=70) System.out.println("this mark is grade \'C\' "); else if (mark>=60) System.out.println("this mark is grade \'D\' "); else System.out.println("this mark is grade \'E\' "); } } } } 3,编写程序求 1+3+5+7+……+99 的和值。 class he{ public static void main(String[] args){ //初始值 1,以后再+2 递增上去 int number = 1; int sum = 0; for ( ; number <100; number+=2 ){ sum += number; } System.out.println("1+3+5+7+……+99= " +sum); 4、利用 for 循环打印 9*9 表? 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 9*9=81 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 3*9=27 4*9=36 5*5=25 5*6=30 5*7=35 5*8=40 6*6=36 6*7=42 7*7=49 6*8=48 7*8=56 5*9=45 6*9=54 //循环嵌套,打印九九乘法表 public class NineNine{ public static void main(String[]args){ 8*8=64 7*9=63 8*9=72
for(int k=1;k<10;k++) { //老师的做法,判断语句里的 k<=j,省去下 if (k>j) break; System.out.print(" "+k+"X"+j+"="+j*k); //此处用 continue 也可以,只是效率低一点 System.out.println(); for (int j=1;j<10;j++){ 列的 if 语句。 } System.out.println(); } } } 6、输出所有的水仙花数,把谓水仙花数是指一个数 3 位数,其各各位数字立方 和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 class DafodilNumber{ public static void main(String[] args){ System.out.println("以下是所有的水仙花数"); int number = 100; // 由于水仙花数是三位数,故由 100 开始算起 int i, j, k; for (int sum; number<1000; number++){ // i j k 分别为 number 的百位、十位、个位 j=(number-i*100)/10; i=number/100; sum=i*i*i+j*j*j+k*k*k; if (sum==number) System.out.println(number+" is a dafodil number! "); } k=number-i*100-j*10; } } 7、求 a+aa+aaa+.......+aaaaaaaaa=? 其中 a 为 1 至 9 之中的一个数,项数也要可以指定。 import java.util.Scanner; class Multinomial{ public static void main(String[] args){ a; //定义输入的 a int int howMany; Scanner scanner = new Scanner(System.in); //定义最后的一项有多少个数字
System.out.println("请输入一个 1~9 的 a 值"); a = scanner.nextInt(); System.out.println("请问要相加多少项?"); howMany = scanner.nextInt(); int sum=0; int a1=a; for (int i=1; i<=howMany; i++){ // 用来保存 a 的初始值 sum+= a; a = 10*a +a1; // 这表示 a 的下一项 // 每次 a 的下一项都等于前一项*10,再加上刚输入时的 a ;注意, 这时的 a 已经变化了。 } System.out.println("sum="+sum); //初始的分子 (fenZi)=2,分母(fenMu) //下一项的分母 = 上一项的分子 //下一项的分子 = 上一项的分子加分 } } =1 母 } } 8、求 2/1+3/2+5/3+8/5+13/8.....前 20 项之和? class Sum{ public static void main(Sting[] args){ double sum=0; double fenZi=2.0, fenMu=1.0; for(int i=1; i<=20; i++){ sum += fenZi / fenMu ; fenMu = fenZi; fenZi += fenMu; } System.out.println("sum= "sum); 9、利用程序输出如下图形: * * * * * * * * * * * * * * * * * * * * * * * *
* class Asterisk{ } } } public static void main(String[] args){ for (int i=1; i<=13; i+=2){ for(int j=1; j<=i && i+j<= 14; j++){System.out.print("* ");} System.out.println(); // 换行 10、计算圆周率 PI=4-4/3+4/5-4/7....... 打印出第一个大于 3.1415 小于 3.1416 的值 class Pi { public static void main(String[] args){ //定义初始值 double pi =0; double fenZi = 4; double fenMu = 1; 次递增 2 只是精确度小些 //分子为 4 //第一个 4,可看作分母为 1 的分式,以后的分母每 for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多, pi += (fenZi/fenMu) ; fenZi *= -1.0; fenMu += 2.0; } System.out.println(pi); //每项分子的变化是+4,-4,+4,-4 .... //分母的变化是 1,3,5,7, .... 每项递加 2 } } 输出结果为 pi = 3.1415926525880504,应该不精确 11、输入一个数据 n,计算斐波那契数列(Fibonacci)的第 n 个值 1 2 1 34 规律:一个数等于前两个数之和 13 21 3 5 8 //计算斐波那契数列(Fibonacci)的第 n 个值 public class Fibonacci{ public static void main(String args[]){ int n = Integer.parseInt(args[0]); int n1 = 1;//第一个数 int n2 = 1;//第二个数
System.out.println("参数错误!"); return; int sum = 0;//和 if(n<=0){ } if(n<=2){ sum = 1; }else{ for(int i=3;i<=n;i++){ sum = n1+n2; n1 = n2; n2 = sum; } } System.out.println(sum); } } //计算斐波那契数列(Fibonacci)的第 n 个值 //并把整个数列打印出来 public class FibonacciPrint{ public static void main(String args[]){ int n = Integer.parseInt(args[0]); FibonacciPrint t = new FibonacciPrint(); for(int i=1;i<=n;i++){ t.print(i); } } public void print(int n){ int n1 = 1;//第一个数 int n2 = 1;//第二个数 int sum = 0;//和 if(n<=0){ System.out.println("参数错误!"); return; } if(n<=2){ sum = 1; }else{ for(int i=3;i<=n;i++){ sum = n1+n2; n1 = n2; n2 = sum;
} } System.out.println(sum); } } 12、求 1-1/3+1/5-1/7+1/9......的值。 a,求出前 50 项和值。 b,求出最后一项绝对值小于 1e-5 的和值。 public class xunhuan { public static void main(String[] args) { double fenzi = 1; double fenmu = 1; double sum = 0; for(int i=1;i<50;i++) { sum += (fenzi/fenmu); fenzi *= -1; fenmu = 2*i+1; } System.out.println(sum); } } 13、在屏幕上打印出 n 行的金字塔图案,如,若 n=5,则图案如下: * *** ***** ******* ********* //打印金字塔图案 public class PrintStar{ public static void main(String args[]){ int col = Integer.parseInt(args[0]); for(int i=1;i<=col;i++){//i 表示行数 //打印空格 for(int k=0;k
System.out.print("*"); } System.out.println(); } } } 14.歌德巴赫猜想,任何一个大于六的偶数可以拆分成两个质数的和 打印出所有的可能 //任何一个大于六的偶数可以拆分成两个质数的和 //打印出所有的可能 public class Gedebahe{ public static void main(String args[]){ int num = Integer.parseInt(args[0]); if(num<=6){ System.out.println("参数错误!"); return; } if(num%2!=0){ System.out.println("参数错误!"); return; } Gedebahe g = new Gedebahe(); //1 不是质数,2 是偶数,因此从 3 开始循环 for(int i=3;i<=num/2;i++){ if(i%2==0){//如果为偶数,退出本次循环 continue; } //当 i 与 num-i 都为质数时,满足条件,打印 if(g.isPrime(i) && g.isPrime(num-i)){ System.out.println(i+" + "+(num-i)+" = "+num); } } } 15. 定义一个 int 型的一维数组,包含 10 个元素,分别赋一些随机整数,然后求 出所有元素的最大值, 最小值,平均值,和值,并输出出来。 class ArrayNumber{ public static void main(String[] args){ int[] arrayNumber;
分享到:
收藏