实验1 JAVA编程基础
一、 实验目的:
- 安装JDK并配置环境变量;
- 熟悉Eclipse集成开发工具环境;
- 初步了解、体会Java程序的特点;
- 熟悉java的数据类型、数组的用法;
- 熟悉java程序的控制语句。
二、 实验内容:
1. 安装JDK
2. 学习Eclipse开发工具
3. 能在DOS命令窗口中运行Java程序;能在Eclipse开发环境中运行Java程序
4. 阅读以下java程序,了解Java程序的基本结构
例1:
public class Hello {
public static void main (String args[]) {
System.out.printf("大家好!\n");
System.out.printf("Nice to meet you\n");
Student stu=new Student();
stu.speak("We are students");
}
}
class Student {
public void speak(String s) {
System.out.printf("%s\n", s);
}
}
例2:
public class People {
int height;
String ear;
void speak(String s) {
System.out. printf("%s\n", s);
}
}
class A {
public static void main(String args[]) {
People zhubajie;
zhubajie = new People();
zhubajie.height = 170;
zhubajie.ear = "两只大耳朵";
System.out.printf("身高:%d\n", zhubajie.height);
System.out.printf("%s\n", zhubajie.ear);
zhubajie.speak("师傅,咱们别去西天了,改去月宫吧");
}
}
5.编写一个Java应用程序,输出全部的希腊字母。
提示:找到第一个希腊字母α在Unicode中的编码,最后一个希腊字母ω在Unicode中的编码。然后循环输出这个范围内所有的字符,就得到了希腊字母表
package t;
public class t5 {
public static void main(String args[]){
for(int i=945; i <= 969; i++){
System.out.printf("%c",i);
}
}
}
6.从键盘输入整数n,计算1~n的累加和并输出。
package t;
import java.util.Scanner;
public class t6 {
public static void main(String args[]){
Scanner reader = new Scanner(System.in);
int n = reader.nextInt();
int sum = Sum(n);
System.out.print(sum);
reader.close();
}
public static int Sum(int n){
int s,i;
s = 0;
for(i = 0; i <= n; i++){
s = s+i;
}
return s;
}
}
7.编写一个Java应用程序,定义数组a并赋值,输出a的全部元素。然后定义数组b,并将数组a的全部或部分元素复制到数组b中,然后通过数组b修改数组元素的值,再输出数组a的全部元素,比较两次输出的结果。
提示:数组复制可以使用System类的arraycopy方法,该方法的原型为:public static void arraycopy(Object source , int srcIndex , Object dest , int destIndex , int length ),参数中,source表示源数组,srcIndex表示源数组中开始复制的元素的位置,dest表示目标数组,destIndex表示复制到目标数组时从哪个位置赋值,length表示复制的元素个数。
该方法的使用语句是:System.arraycopy(a,3,b,0,4 )//实参只是一个示例,可以根据要求自己修改
package t;
import java.util.Arrays;
public class t7 {
public static void main(String args[]){
int a[] = {1,2,3,4};
System.out.print(Arrays.toString(a));
int b[];
b = new int[4];
System.arraycopy(a, 0, b, 0, 4);
b[0] = 9;
System.out.print(Arrays.toString(a));
}
}
8.统计每个字母出现的次数
(1)随机生成100个小写字母并将其放入一个字符数组中,输出该数组中的全部元素。
(2)对上述数组中每个字母出现的次数进行计数。为实现该功能,可以创建一个具有26个元素的整型数组,每个元素存放每个字母的出现次数。输出每个字符及其出现的次数。
提示:(char)(‘a’ + Math.random() * (‘z’ - ‘a’ + 1)) 可以随机生成一个小写字母
public class t8 {
public static void main(String args[]){
char letter[] = new char[100];
for(int i = 0; i < 100; i++){
letter[i] = (char)('a' + Math.random() * ('z' - 'a' + 1));
}
System.out.print(letter);
System.out.print("\n");
int countletter[] = new int[26];
for(int k = 0; k < 26; k++){
char zero = 'a';
char lett = (char)(zero + k);
int flag = 0;
for(int j = 0; j < 100; j++){
if(letter[j] == lett){
flag++;
}
}
countletter[k] = flag;
}
System.out.print(Arrays.toString(countletter));
}
}
9.编写一个Java应用程序,实现下列功能:
(1)程序随机分配给客户一个1~100之间的整数。
(2)用户输入自己的猜测。
(3)程序返回提示信息,提示信息分别是"猜大了"、“猜小了"或"猜对了”。
(4)用户可根据提示信息再次输入猜测,直到提示信息是"猜对了"。
提示:下面给出程序模板,可以参考程序模板完成
GuessNumber.java
import java.util.Scanner;
import java.util.Random;
public class GuessNumber {
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
Random random=new Random();
System.out.printf(“给你一个1~100之间的整数,请猜测这个数\n”);
int realNumber=random.nextInt(100)+1;
int yourGuess=0;
System.out.print(“输入您的猜测:”);
yourGuess=reader.nextInt();
while(代码1)
{
if(代码2)
{
System.out.print(“猜大了,再输入你的猜测:”);
yourGuess=reader.nextInt();
}
else if(代码3)
{
System.out.print(“猜小了,再输入你的猜测:”);
yourGuess=reader.nextInt();
}
}
System.out.printf(“猜对了!\n”);
}
}
package t;
import java.util.Scanner;
import java.util.Random;
public class t9 {
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
Random random=new Random();
System.out.printf("给你一个1~100之间的整数,请猜测这个数\n");
int realNumber=random.nextInt(100)+1;
int yourGuess=0;
System.out.print("输入您的猜测:");
yourGuess=reader.nextInt();
while(yourGuess != realNumber)
{
if(yourGuess > realNumber)
{
System.out.print("猜大了,再输入你的猜测:");
yourGuess=reader.nextInt();
}
else if(yourGuess < realNumber)
{
System.out.print("猜小了,再输入你的猜测:");
yourGuess=reader.nextInt();
}
}
System.out.printf("猜对了!\n");
}
}