第1章
一、问答题
java自行车1.Java有哪些特点?
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社。
Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。Java语言不使用指针,而是引用。并提供了垃圾回收机制,使得程序员不必为内存管理而担忧。
Java语言是纯粹面向对象的。Java语言提供类、接口和继承等。
Java语言是分布式的。Java语言支持Internet应用的开发,Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。安全检查机制使得Java更具健壮性。
Java语言是安全的。Java提供了一个安全机制以防恶意代码的攻击。Java对通过网络下载的类具有一个安全防范机制,并提供安全管理机制让Java应用设置安全哨兵。
Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
Java语言是跨平台的。Java程序的字节码文件可以在任何一个操作系统上运行。
2.编译Java Application程序的命令是什么?运行命令是什么?如何在手机上制作网页
编译命令:javac 源程序的文件名
运行命令:java main方法所在类的类名
3.Java应用程序分几类?各有什么特点?
不同的Java程序运行在不同的环境中,习惯上将运行环境相同的Java程序归为一类,可以分3类:
Java Application应用程序,属于JavaSE
Applet小程序(目前实际开发中基本不使用)
Servlet程序(在JavaEE中使用)
二、编程题
编写一个文件名为FirstProgram的Java Application,功能是输出“Hello,EveryOne!”,写出编译和运行文件的命令和编译器产生的文件名。
程序源码:FirstProgram.java
public class FirstProgram{
public static void main(String args[]){
System.out.println(“Hello,EveryOne!”);
}
}
编译命令:
javac FirstProgram.java
运行命令:
java FirstProgram
第2章
1.编程实现键盘输入一个人的出生年份,计算出他这辈子能过几个闰年。(以100岁为寿命长度。)
package chapter2;
import java.util.Scanner;
/*
*编程实现键盘输入一个人的出生年份,计算出他这辈子能过几个闰年。(以100岁为寿命长度。)
*/
public class GetYear {
public static void main(String args[]) {
文本编辑器全屏显示System.out.println("请输入出生年份");
Scanner reader = new Scanner(System.in);
int firstYear = Int();
int length = 100;
int year;
for (int i = 0; i <= length; i++) {//包含第100年
year = firstYear + i;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
System.out.println(year);
}
}
}
2.用while循环求Fibonacci序列。
1,1,2,3,5,8,13,21,34,55,89……
package excercise.ch2;
/**
* 斐波那契数列(Fibonacci sequence),又称黄金分割数列.
* 因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,
* 故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,
* 斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n ∈N*)
* @author Administrator
*
class GetFibonacci {
//getFib(int n)用于计算斐波那契数列中第n项的值
static int getFib(int n) {
if(n==0||n==1)
return 1;
return getFib(n-2)+getFib(n-1);
}
public static void main(String args[]) {
int max=20;//求0-max项范围内的斐波那契数列
int i=0;
while(i<20){
System.out.print(getFib(i)+" ");
i++;
if(i%5==0)
System.out.println("");//每5个数以后换行
}
}
}
3.用辗转相除法求两个整数的最大公因数。
package chapter2;
/**
* 辗转相除法,又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。* 它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,
* 再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。
* 如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
* @author Administrator
*
*/
public class GreaterCommonFactor {
//求a、b的最大公约数的方法
static void getGreaterCommonFactor(int a,int b) {
int k = 0;
System.out.print("gcd(" + a + "," + b + ")=");
do {
k = a % b;//如果a<b,则余数k=a,实际上下次循环a、b进行了交换
a = b;//让a等于除数
b = k;
} while (k != 0);//当余数k=0时的除数a就是最大公约数
System.out.println(a);
}
public static void main(String args[]) {
getGreaterCommonFactor(12,18);
}
4.统计一个字符数组中每个字母出现的次数。
package excercise.ch2;
public class CounteLettersInArray2 {
public static void main(String[] args) {
//letters[]是被统计数组
java经典上机编程题char[] letters={'a','b','a','c','c','m','s','a','t','b','c'};
//count[]保存26个字母出现的次数,count[0]保存a的次数,count[25]保存z的次数
int[] count=new int[26];
for(int i=0;i<letters.length;i++){
count[letters[i]-'a']++; //letters[i]-'a'如果是0,表示a,如果是1表示b }
for(int i=0;i<count.length;i++){
if(count[i]>0)
System.out.println((char)(i+'a')+":"+count[i]);
}
}
}
5.到数组中所有的数组元素大于平均值的那些元素。
package chapter2;
import java.util.Scanner;
public class AnalyzeNumber {
/**
* 数组中所有的数组元素大于平均值的那些元素
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入要存储的个数");
int n = Int();
double[] numbers = new double[n];
double sum = 0;//保存数组的元素之和
System.out.println("请输入您想存储的数字");
for (int i = 0; i < numbers.length; i++) {
numbers[i] = Double();
sum += numbers[i];
}
double avg = sum / n;
install是什么意思英语System.out.println("平均值为:" + avg);
System.out.println("大于平均值" + avg+"的元素有:");
for (int i = 0; i < n; i++) {
if (numbers[i] > avg) {服务态度好的金融级数据库
System.out.println(numbers[i]);
}
}
}
}
6.随机产生20个[77,459)的正整数存放到数组中,求数组中的最大值、最小值、平均值及各个元素之和。
package chapter2;
/*
*随机产生20个[77,459)的正整数存放到数组中,求数组中的最大值、最小值、平均值及各个元素之和。
*/
public class ArrayDemo {
static void getArray() {
// 声明一个长度为20的数组
int[] array = new int[20];
// 遍历数组
for (int i = 0; i < array.length; i++) {
//Math.random()会产生[0,1)区间中的双精度浮点随机数
int num = (int) (Math.random() * (459 - 77) + 77);//产生[77,459)之间的整数
array[i] = num;
System.out.print(array[i]+" ");
}
// 声明最大值,最小值,和,平均值
int max = 0;
int min = array[0];
int sum = 0;
int average = 0;
for (int i = 0; i < array.length; i++) {
// 最大值
if (max < array[i]) {
max = array[i];
}
// 最小值
if (min > array[i]) {
min = array[i];
}
// 和值
sum = sum + array[i];
}
// 平均值
average = sum / array.length;
// 打印
System.out.println("\n最大值是" + max);
System.out.println("最小值是" + min);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论