实验一 JAVA简单程序设计
一、实验目的
1.掌握Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。
2.掌握同时编译多个Java文件。
3.掌握char型数据和int型数据之间的相互转换,同时了解Unicode字符表。
4.掌握数组属于引用型的一种复合型数据类型。
5.掌握使用Array类调用方法操作数组。
6.掌握使用if-else if-else多分支语句。
7.掌握使用if-else if-else多分支语句,并解决问题。
二、实验内容
1.编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:你好,欢迎学习Java和We are students。
2.编写4个源文件,即MainClass.java、A.java、B.java和java,每个源文件只有一个类。MainClass.java含有应用程序的主类,并使用了A、B和C类。将4个源文件保存到同一目录中,然后编译MainClass.java。
3.编写一个Java应用程序,该程序在命令行窗口输出希腊字母表。
4.编写一个Java应用程序,该程序在命令行窗口输出数组的引用以及元素的值。
5.编写一个Java应用程序,输出数组a的全部元素,并将数组a的全部或部分元素复制到其他数组中。然后改变其他数组中元素的值,再输出数组a的全部元素。
6.编写一个Java应用程序,用户从键盘输入一个1-9999之间的数,判断这个数是否是回文数。
7.编写一个Java应用程序,实现下列功能:
(1)程序随机分配给客户一个1-100的整数。
(2)用户输入自己的猜测。
(3)程序返回提示信息,提示信息分别是“猜大了”“猜小了”或“猜对了”。
(4)用户可根据提示信息再次输入猜测,直到提示信息是“猜对了”。
三、实验步骤与实验结果
1.一个简单的应用程序
源代码:
package chapert1;
public class Hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("你好,欢迎学习Java");
A a=new A();
a.fA();
}
}
class A{
void fA() {
System.out.println("We are student");
}
}
2.联合编译
源代码:
package chapert2;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("你好,只需要编译我");
A a=new A();
a.fA();
B b=new B();
b.fB();
}
}
package chapert2;
public class A {
void fA() {
System.out.println("I am A");
}
}
package chapert2;
public class B {
void fB() {
System.out.println("I am B");
}
}
package chapert2;
public class C {
void fc() {
System.out.println("I am c");
}
}
3.输出希腊字母表
源代码:
package chapert1;
public class GreekAlphabet {
public static void main(String[] args) {
// TODO Auto-generated method stub
int startPosition=0,endPosition=0;
char cStart='α',cEnd='ω';
startPosition = (int)cStart;
endPosition =(int)cEnd;
System.out.println("希腊字母\'α\'在unicode表中的顺序位置:"+startPosition);
System.out.println("希腊字母表:");
for(int i=startPosition;i<=endPosition;i++) {
char c='\0';
c=(char)i;
System.out.print(" "+c);
if((i-startPosition+1)%10==0)
System.out.println("");
}
}
}4.数组的引用与元素
源代码:
package chapert2;
public class InputArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] a = {100,200,300};
System.out.println(a.length);
System.out.println(a);
int b[][]= {{1}, {1,1},{1,2,1}, {1,3,3,1},{1,4,6,4,1}};
System.out.println(b.length);
System.out.println(b[4][2]);
b[4]=a;
System.out.println(b[4][2]);
}
}
5.遍历与复制数组
源代码:
package chapert3;
import java.util.Arrays;
public class CopyArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] a = {1,2,3,4,500,600,700,800};
int [] b,c,d;
System.out.println(Arrays.toString(a));
b = Arrays.copyOf(a,a.length);
System.out.println(Arrays.toString(b));
c =Arrays.copyOf(a,4);
System.out.println(Arrays.toString(c));
d = Arrays.copyOfRange(a, 4, a.length);
System.out.println(Arrays.toString(d));
c[c.length-1]=-100;
d[d.length-1] = -200;
System.out.println(Arrays.toString(a));
}
}
6.回文数
源代码:
package chapert1;
import java.util.Scanner;
public class Number {
public static void main(String args[]) {
int number=0,d5,d4,d3,d2,d1;
Scanner reader = new Scanner(System.in);
System.out.println("输入一个1至99999之间的数");
number = reader.nextInt();
if(number<=99999&&number>=1)
{ d5=number/10000;
d4=number%10000/1000;
d3=number%1000/100;
d2=number%100/10;
d1=number%10;
if(d5!=0)
{ System.out.println(number+"是5位数");
if(d1==d5&&d2==d4)
{ System.out.println(number+"是回文数");
}
else
{ System.out.println(number+"不是回文数");
}
}
else if(d4!=0)
{ System.out.println(number+"是4位数");
if(d1==d4&&d2==d3)
{ System.out.println(number+"是回文数");
}
else
{ System.out.println(number+"不是回文数");
}
}
else if(d3!=0)
{ System.out.println(number+"是3位数");
if(d3==d1)
{ System.out.println(number+"是回文数");
}
else
{ System.out.println(number+"不是回文数");
}
}
else if(d2!=0)
{ System.out.println(number+"是2位数");
if(d1==d2)
{ System.out.println(number+"是回文数");
}
else
{ System.out.println(number+"不是回文数");
}
}
else if(d1!=0)
{ System.out.println(number+"是1位数");
System.out.println(number+"是回文数");
}
}
else
{ System.out.printf("\n%d不在1至99999之间",number);
}
}
}7.猜数字游戏
源代码:
package chapert2;
import java.util.Random;
import java.util.Scanner;
public class GuessNumber {
public static void main (String args[]) {
Scanner reader = new Scanner(System.in);
Random random = new Random();
System.out.println("给你一个1至100之间的整数,请猜测这个数");
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.println("猜对了!");
}
}
四、实验总结
经过本次学习了页面的调用、打印,以及数组的相关知识,在猜数字的实验中体验到了Java语言的神奇之处和与计算机互动的乐趣。