Java 实验一
- 格式:docx
- 大小:297.58 KB
- 文档页数:7
实验一联合编译,数组的快速复制与排序
1. 实验目的
(1)掌握Java语言的重要平台——J2SE,以及Java程序的运行原理。
(2)掌握数组的特性。
2. 实验内容和步骤
(1)熟悉开发Java应用程序的步骤。
(2)对两段程序进行改错。
(3)程序一(Hello world)
(4)程序二(数组快速复制)
3实验过程
改错一:
publicclass Hello {
publicstaticvoid main(String[] args) {
System.out.println("Hello,World");
A a=new A();
a.fA();
B b=new B();
b.fB();
}
}
class A
{
void fA()
{
System.out.println("I am A");
}
}
class B
{
void fB()
{
System.out.println("I am B");
}
}
改错二:
package copy;
publicclass CopyArray {
publicstaticvoid main(String[] args) {
char a[]={'a','b','c','d','e','f'};
char b[]={'1','2','3','4','5','6'};
int c[]={1,2,3,4,5,6};
int d[]={-1,-2,-3,-4,-5,-6};
System.arraycopy(a,0,b,0,a.length);
System.arraycopy(c,0,d,0,c.length);
System.out.println("\narray A:");
for(int i=0;i<a.length;i++)
{
System.out.printf("%3c",a[i]);
}
System.out.println("\narray B:");
for(int i=0;i<b.length;i++)
{
System.out.printf("%3c",b[i]);
}
System.out.println("\narray C:");
for(int i=0;i<c.length;i++)
{
System.out.printf("%3d",c[i]);
}
System.out.println("\narray D:");
for(int i=0;i<d.length;i++)
{
System.out.printf("%3d",d[i]);
}
}
}
编程一:猜数
import java.util.*;
publicclass GuessNumber {
publicstaticvoid main(String[] args) {
System.out.println("给你一个1至100之间的整数,请猜测这个数
");
int realNumber=(int)(Math.random()*100)+1;
int yourGuess=0;
Scanner reader=new Scanner(System.in);
System.out.println("输入您的猜测:");
yourGuess=reader.nextInt(); // reader调用方法获取用户从键盘键入的整数,并赋值给yourGuess
while (realNumber!=yourGuess) // 循环条件。
{
if (realNumber<=yourGuess) // 条件代码。
{
System.out.println("猜大了,请再猜:");
yourGuess=reader.nextInt(); // reader调用方法获取用户从键盘键入的整数,并赋值给yourGuess
}
elseif(realNumber>=yourGuess) // 条件代码
{
System.out.println("猜小了,请再猜:");
yourGuess=reader.nextInt(); // reader调用方法获取用户从键盘键入的整数,并赋值给yourGuess
}
}
System.out.println("猜对了!");
}
}
编程二:回文数
package asd;
import java.util.*;
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之间的数");
while(reader.hasNextInt())
{
number=reader.nextInt();
if(number>=1&&number<=99999) // 判断number在1至99999之间的条件
{
d5=number/10000; // 计算number的最高位(万位)d5
d4=number%10000/1000; // 计算number的千位d4
d3=number%1000/100; // 计算number的百位d3
d2=number%100/10;
d1=number%10;
if(d5!=0) // 判断number是5位数的条件
{
System.out.printf("\n%d是5位数", number);
if (d5==d1&&d4==d2) // 判断number是回文数的条件
{
System.out.printf("\t%d是回文数", number);
}
else
{
System.out.printf("\t%d不是回文数", number);
}
}
else if (d4!=0) // 判断number是4位数的条件
{
System.out.printf("\n%d是4位数",number);
if (d4==d1&&d3==d2) // 判断number是回文数的条件码
{
System.out.printf("\t%d是回文数", number);
}
else
{
System.out.printf("\t%d不是回文数",number);
}
}
else if (d3!=0) // 判断number是3位数的条件
{
System.out.printf("\n%d是3位数", number);
if (d3==d1) // 判断number是回文数的条件
{
System.out.printf("\t%d是回文数", number);
}
else
{
System.out.printf("\t%d不是回文数", number);
}
}
else if(d2!=0)
{
System.out.printf("\n%d是2位数", number);
if(d1==d2)
{
System.out.printf("\t%d是回文数", number);
}
else
{
System.out.printf("\t%d不是回文数", number);
}
}
else if(d1!=0)
{
System.out.printf("\n%d是1位数", number);
System.out.printf("\t%d是回文数", number);
}
}
else
{
System.out.printf("\n%d不在1至99999之间", number);
}
System.out.printf("%n可继续输入整数, 或输入非整数结束程序%n");
}
System.out.println("你输出的数据不是整数");
}
}
4.实验总结:
此次实验非常认真的去完成,学会了使用编译器编译Java 程序,为以后的实验打好基础。