项目一 学生管理系统(结构化设计方法实现) 任务一 程序的运行环境 (三)简答题
1.Java语言有哪些特点?
答:简单,面向对象,与平台无关,解释型,多线程,安全,动态。 2.JDK安装完成后,如何设置环境变量?
答:主要设置环境变量JAVA_HOME,path,classpath。详见教材第6页。 3.简述Java应用程序和小应用程序的区别。
答:Java应用程序是由用户系统就地装入的可独立运行的Java程序,可以是基于窗口或控制台的。而Java小应用程序需要嵌入到网页在浏览器中运行。 4.简述Java应用程序的开发过程。
答:(1)建立源程序。可利用任何文本编辑器建立,文件扩展名为.java。(2)编译源程序。命令为
javac 程序名.java(3)解释运行程序。命令为java 程序名
任务三 成绩的判断和统计 (三)编程题
1.输入4个数,将这4个数按从小到大输出。 package pr1;
import java.util.Scanner; public class lx1_3_1 { public static void main(String args[]) { Scanner scan=new Scanner(System.in); int a,b,c,d,t; System.out.println(\请输入三个整数:\ a=scan.nextInt(); b=scan.nextInt(); c=scan.nextInt(); d=scan.nextInt(); if (a>b) { t=a; a=b; b=t; } if (a>c) { t=a; a=c; c=t; } if (a>d) { t=a; a=d; d=t; } if (b>c) { t=b; b=c; c=t; } if (b>d) { t=b; b=d; d=t; } if (c>d) { t=c; c=d; d=t; } System.out.println(a+\ } }
2.输入一个年份值,判断是否是闰年,输出相应的信息。 import java.util.Scanner; public class Exam24 { public static void main(String[] args) { Scanner input=new Scanner(System.in); int year; year=input.nextInt(); if (year%4==0 && year0!=0 || year@0==0) { System.out.println(year+\年是闰年\ } else
{ System.out.println(year+\年不是闰年\ } } }
3.输入一元二次方程系数,若有实数根,求根并输出,否则输出“不是二次方程或没有实数根”的信息。 package pr1;
import java.util.Scanner; public class lx1_3_3 { public static void main(String args[]){ double a,b,c,d,x1,x2; Scanner scan=new Scanner(System.in); System.out.println(\请输入一元二次方程的系数:\ a=scan.nextDouble(); b=scan.nextDouble(); c=scan.nextDouble(); d=b*b-4*a*c; if (d>=0){ x1=(-b+Math.sqrt(d))/(2*a); x2=(-b-Math.sqrt(d))/(2*a); System.out.println(\方程的实数根为:x1=\ }else{ System.out.println(\方程没有实数根!\ } } }
4.编写程序,计算邮局汇款的汇费:如果汇款金额小于100元,汇费为1元,如果金额在100元与500元
之间,按1%收取汇费,如果金额大于500元,汇费为50元。 package pr1;
import java.util.Scanner; public class lx1_3_4 { public static void main(String[] args) { Scanner input=new Scanner(System.in); double je,hf; je=input.nextDouble(); if (je<100) { hf=1; } else if (je<500) { hf=je*0.01; } else { hf=50; } System.out.println(\汇款金额:\汇费:\ } }
5.求某年某月的天数. package pr1;
import java.util.Scanner; public class lx1_3_5 { public static void main(String args[]) { Scanner input = new Scanner(System.in); int year, month, day; year = input.nextInt(); month = input.nextInt(); switch (month) { case 2: if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) day = 29; else day = 28; break; case 1: case 3: case 5:
case 7: case 8: case 10: case 12: day = 31; break; default: day = 30; break; } System.out.println(year + \年\月的天数:\ } }
6.求从1到100之间所有奇数的平方和(用for、while和do??while编写程序)。 public class lx1_3_6 { public static void main(String[] args) { int i,sum; sum=0; for(i=1;i<=100;i++) { if (i%2==1)
sum=sum+i*i;
} System.out.println(\ } }
7.求S=1+2+3+?+n之和,S<1000的最大n的值。 public class lx1_3_7 { public static void main(String[] args) { int s=0; int i; for(i=1;;i++) { s=s+i; if (s>1000) break; } System.out.println(i-1); } }
8. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 public class lx1_3_8{ public static void main(String[] args) { double a,b,s; int i; s=0; a=2;b=1; for(i=1;i<=20;i++) { s=s+a/b; a=a+b; b=a-b; } System.out.println(s); } }
9.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将
剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少? package pr1;
public class lx1_3_9 { public static void main(String[] args) { int x, i; x = 1; for (i = 9; i >= 1; i--) { x = 2 * (x + 1); } System.out.println(x);
} }
10.输出九九乘法表。 package pr1;
public class lx1_3_10 { public static void main(String[] args) { int i, j; for (i = 1; i <= 9; i++) // 行 { for (j = 1; j <= i; j++) // 列 { System.out.print(i + \ } System.out.println(); // 换行 } } }
11.输出1000之内的所有完数。所谓完数指的是:如果一个数恰好等于它的所有因子之和,这个数就称为
完数。 package pr1;
public class lx1_3_11 { public static void main(String args[]) { int x, y, i; for (x = 1; x <= 1000; x++) { y = 0; for (i = 1; i <= x / 2; i++) { if (x % i == 0) y = y + i; } if (x == y) { System.out.println(x); } } } }
12.输出100以内的全部素数。 package pr1;
public class lx1_3_12 { public static void main(String args[]) { int x, i, k; for (x = 2; x <= 100; x++) { k = (int) Math.sqrt(x); for (i = 2; i <= k; i++) { if (x % i == 0) break; } if (i>k){ System.out.println(x); } } } }
13.求1!+2!+3!+??+10! package pr1;
public class lx1_3_13 { public static void main(String args[]) { double sum = 0, t; for (int i = 1; i <= 10; i++) { t = 1; for (int j = 1; j <= i; j++) { t = t * j; } sum = sum + t; } System.out.println(\=\ } }
14.求2+22+222+2222+22222。
package pr1;
public class lx1_3_14 { public static void main(String args[]) { int sum, x, v, n = 5; v = 0; x = 2; sum = 0; for (int i = 1; i <= n; i++) { v = v * 10 + x; sum += v; } System.out.println(\ } }
任务四 学生成绩管理系统功能的实现 (三)编程题
1.编写一个程序,计算一维数组中的最大值、最小值及其差值。 package pr1;
public class lx1_4_1 { public static void main(String[] args) { int a[] = { 34, 65, 79, 50, 30, 40, 65, 23, 8, 10 }; // 数组名.length a.length int i, max, min; int n = a.length; // a[0] a[1] a[n-1] max = a[0]; min = a[0]; for (i = 1; i < n; i++) { if (max < a[i]) { max = a[i]; } else if (min < a[i]) { min = a[i]; } } System.out.println(\最大数:\最小数:\差值:\ } }
2.将一个数组中的数逆序重新存放。 package pr1;
public class lx1_4_2 { public static void main(String args[]) { int a[] = { 3, 15, 28, 11, 34, 78, 95, 27, 18 }; int i, length, temp; length = a.length; for (i = 0; i < (length / 2); i++) { // 以下将数组元素a[i]和a[length -1 - i]的值互换 temp = a[i]; a[i] = a[length - 1 - i]; a[length - 1 - i] = temp; } for (i = 0; i < length; i++) { System.out.print(a[i] + \ } } }
3.已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是
有序的。 package pr1;
import java.util.Scanner; public class lx1_4_3 { public static void main(String args[]) { int a[] = { 12, 23, 26, 45, 58, 60, 0 }; int x, i, j, n; Scanner scanner = new Scanner(System.in); System.out.println(\请输入要插入的数x:\ x = scanner.nextInt(); n = 6;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java习题答案在线全文阅读。
相关推荐: