java程序设计类与方法-java实验报告
java程序设计类与方法-java实验报告
1、 实验内容或题目
(1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并菲波那契(Fibonacci)数列的任意项。
(2) 应用程序中定义方法头如下所示的方法:
static int[] add(int[] x, int[] y)
static int[] multi(int[] x, int[] y)
add方法的功能是:把参数数组x和y(其元素个数相同)的每个元素相加,并作为返回数组的元素;multi方法的功能是:把参数数组x和y(其元素个数相同)的每个元素相乘,并作为返回数组的元素。在Java应用程序中使用这两个方法。
(3) 编写Java应用程序,程序运行后,根据屏幕提示输入一个数字字符串,回车后统计有多少个偶数数字和奇数数字。
(4) 编写应用程序,定义一个5行3列的二维数组,给数组的每个元素赋10~100之间的随机值,显示二维数组每行的元素,并输出所有元素的和。
2、实验目的与要求
⑴ 方法的定义和使用,方法重载等。
⑵ 编写简单的类和使用类。
⑶ 使用类库中的常用类解决简单的编程应用问题。
3、 实验步骤与源程序
⑴ 实验步骤
a) 编辑源文件
b) 编译
c) 运行
⑵ 源代码
题目一
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Fibonacci2{
public static void main(String[] args)throws IOException{
BufferedReader buf;
buf =new BufferedReader(new InputStreamReader(System.in));
String str;
int x;
System.out.println("输入所需要的菲薄那契的任意项,回车得该数。");
System.out.println("输入quit,回车后退出运行。");
while(true){
str=buf.readLine();
if(str.equals("quit"))
break;
x=Integer.parseInt(str);
System.out.println("菲薄那契第"+x+"项的值为"+fibonacci(x));
}
}
static long fibonacci(int x){
long first=1,second=1,third=1;
for(int i=3;i<=x;i++){
third=first+second;
first=second;
second=third;
}
return third;
}
}
题目二
public class UseAdd{
public static void main(String[] args){
int[] x={1,2,3,4,5,6};
int[] y={6,5,4,3,2,1};
int[] x1=new int[6];
x1=add(x,y);
int[] y1=new int[6];
y1=multi(x,y);
System.out.println("\n原数组x的值为:");
show(x);
System.out.println("\n原数组y的值为:");
show(y);
System.out.println("\n使用add方法后x的值为:");
show(x1);
System.out.println("\n使用multi方法后y的值为:");
show(y1);
}
static int[] add(int[] x,int[] y){
int[] x1=new int[6];;
for(int i=0;i<x.length;i++){
x1[i]=x[i]+y[i];
}
return x1;
}
static int[] multi(int[] x,int[] y){
int[] x1=new int[6];;
for(int i=0;i<x.length;i++){
x1[i]=x[i]*y[i];
}
return x1;
}
static void show(int[] x){
for(int i=0;i<x.length;i++){
System.out.print(" x["+i+"]="+x[i]);
}
}
}
题目三
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class tongJi{
public static void main(String[] args)throws IOException{
BufferedReader buf;
buf =new BufferedReader(new InputStreamReader(System.in));
String str;
char s;
int n=0,m=0;
System.out.println("请输入数字字符串。输入quit,回车后则为退出运行");
while(true){
str=buf.readLine();
if(str.equals("quit"))
break;
for(int i=0;i<str.length();i++){
s=str.charAt(i);
// int c=(int )s;
if(s%2==0)
n++;
else
m++;
}
System.out.println("偶数的个数:"+n+" 奇数的个数:"+m);
}
}
}
题目四
public class tdArray{
public static void main(String[] args){
int[][] x=new int[5][3];
int sum=0;
for(int i=0;i<x.length;i++){
System.out.print("第"+(i+1)+"行的元素:");
for(int j=0;j<x[i].length;j++){
x[i][j]=(int)(Math.random()*90)+10;
System.out.print(x[i][j]+" ");
sum+=x[i][j];
}
System.out.println();
}
System.out.println("所有元素之和为"+sum);
}
}
4、 测试数据与实验结果(可以抓图粘贴)
题目一
题目二
题目三
题目四
5、 结果分析与实验体会
这已经是第四次上机做JAVA的课程实验了,说起来编程的经验应该是多了很多。但是在上机调试的时候还是遇到了相当多的问题。很多的错误都很难体会,有的时候是输入的错误,这种错误还是比较容易找出来的,但是有些问题,比如一些题目需要导入一些包,这一点就没有办法了。发现JAVA虽然看起来比C或C++要容易一点,但是由于它自身带有相当多的方法定义,这些个方法虽然不用我们自己再去编写了但是需要花相当多的时间去记忆那些方法是需要导入的,还有方法名……所以对我来说这真的是比C里简单几个文件的导入还要难上很多……还是觉得自己编的方法(函数)自己用的习惯。不过现在的编程的方向已经是面向对象和面向数据的了,所以我需要时间去适应这样的编程思想358