Java语言程序设计实验四 方法及数组实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称: 班 级:报告
实验四 方法及数组
姓 名:
学 号:
日 期:
一、实验目的: 1、掌握数组的定义和使用方法 2、熟悉数组的排序、查找等算法
二、实验环境: 有 Java 环境的计算机若干台
三、实验内容和要求:
1、定义一个 10 个元素的数组,要求从键盘输入(Scanner 类,循环输入),并在里面查 找某个数据,找到输出“有”,没有这个数提示“无”。
思路:使用 Scanner 类输入数组元素,然后再输入要查找的元素,循环比较查找。
2、编写一个数组处理类,要求里面有这样的两个方法,第一个方法,可以对输入的数 组进行排序,第二个方法可以删除指定位置的数组元素;然后再写一个主类,测试上面 这个类的正确性。 思路:第一个类框架 class first{
System.out.println("无"); } }
2: package syyyy;
import java.util.*; class first {
public void sort(int []a) { int i,j,k,temp; for(i=0;i<a.length;i++) {
k=i; for(j=i+1;j<a.length;j++) if(a[i]>a[j]) { temp=a[k]; a[k]=a[j]; a[j]=temp; } } } public boolean delelement(int [] a,int index) { int i; if(index>a.length-1)
a[i]=chm.nextInt(); } System.out.println("请输入要找的数"); t=chm.nextInt(); for(int j=0;j<10;j++) {
if(t==a[j]) bbk=1;
} if(bbk==1)
System.out.println("有"); else
public static void main(String[] args) { // TODO Auto-generated method stub int t,bbk=0; int []a; a=new int[10]; Scanner chm=new Scanner(System.in); System.out.println("请输入十个数"); for(int i=0;i<10;i++) {
void sort(int [] a){//该方法为对 a 数组排序的方法} void delelement(int[] a,int index){//该方法实现删除 a 数组内第 index 位置的元 素}
//可以增加折半等等 }
第二个类框架: class second{ public static void main(String args[]) { 使用 Scanner 输入一个数组,采用前一个类的第一方法对其排序,输出看看是否正确, 在采用前一个类的第二个方法,输出第 3 个元素,验证正确性。 }
System.out.println("输出排序前"); f.printarray(a); f.sort(a); System.out.println("输出排序后"); f.printarray(a); f.delelement(a, 2); System.out.println("输出删除第2个数后"); f.printarray(a); } }
3): import java.util.Scanner;
public class syyyyyyyy43 {
/** * @param args */
public static void main(String[] args) { // TODO Auto-generated method stub Scanner bbk=new Scanner(System.in); System.out.println("请输入一个十进制数:"); int a=bbk.nextInt(); int pok=a/2; int shu[]=new int [pok+1]; if(pok<3000){ if(a%2==0){ shu[0]=1; System.out.print(shu[0]); for(int i=1;i<pok+1;i++){ shu[i]=0; System.out.print(shu[i]); } }
{System.out.println("超出数组长度"); return false; } else {for(i=index-1;i<a.length-1;i++)
a[i]=a[i+1]; a[a.length-1]=999; return true; } } public void printarray(int []a) {int i; for(i=0;i<a.length;i++) System.out.printf("%8d",a[i]); System.out.println(); } } class sy42 {public static void main(String []args) {Scanner sc=new Scanner(System.in); int []a; int i; a=new int[10]; System.out.println("请输入10个数"); for(i=0;i<10;i++) {a[i]=sc.nextInt(); } first f=new first(); //生成对象才可以调用外部类方法
实验成绩:
教师:**
**年 09 月 23 日
else for(int i=0;i<pok+1;i++){ shu[i]=1; System.out.print(shu[i]); }
} else System.out.print("输入过大");
} }
五、实验结果与分析(含程序、数据记录及分析和实验总结等):
六:思考题:
找一个 数组典型应用的题目以及答案 七、教师评语:
3、给定一个十进制正整数(不超过 3000 位) , 请将其转换成对应的二进制整数 比如 3465555369355754989772
输出 101110111101111000111101111101110010000100111001011011011110100011001100
四、实验步骤: 1: import java.util.Scanner; public class sy41 {
实验四 方法及数组
姓 名:
学 号:
日 期:
一、实验目的: 1、掌握数组的定义和使用方法 2、熟悉数组的排序、查找等算法
二、实验环境: 有 Java 环境的计算机若干台
三、实验内容和要求:
1、定义一个 10 个元素的数组,要求从键盘输入(Scanner 类,循环输入),并在里面查 找某个数据,找到输出“有”,没有这个数提示“无”。
思路:使用 Scanner 类输入数组元素,然后再输入要查找的元素,循环比较查找。
2、编写一个数组处理类,要求里面有这样的两个方法,第一个方法,可以对输入的数 组进行排序,第二个方法可以删除指定位置的数组元素;然后再写一个主类,测试上面 这个类的正确性。 思路:第一个类框架 class first{
System.out.println("无"); } }
2: package syyyy;
import java.util.*; class first {
public void sort(int []a) { int i,j,k,temp; for(i=0;i<a.length;i++) {
k=i; for(j=i+1;j<a.length;j++) if(a[i]>a[j]) { temp=a[k]; a[k]=a[j]; a[j]=temp; } } } public boolean delelement(int [] a,int index) { int i; if(index>a.length-1)
a[i]=chm.nextInt(); } System.out.println("请输入要找的数"); t=chm.nextInt(); for(int j=0;j<10;j++) {
if(t==a[j]) bbk=1;
} if(bbk==1)
System.out.println("有"); else
public static void main(String[] args) { // TODO Auto-generated method stub int t,bbk=0; int []a; a=new int[10]; Scanner chm=new Scanner(System.in); System.out.println("请输入十个数"); for(int i=0;i<10;i++) {
void sort(int [] a){//该方法为对 a 数组排序的方法} void delelement(int[] a,int index){//该方法实现删除 a 数组内第 index 位置的元 素}
//可以增加折半等等 }
第二个类框架: class second{ public static void main(String args[]) { 使用 Scanner 输入一个数组,采用前一个类的第一方法对其排序,输出看看是否正确, 在采用前一个类的第二个方法,输出第 3 个元素,验证正确性。 }
System.out.println("输出排序前"); f.printarray(a); f.sort(a); System.out.println("输出排序后"); f.printarray(a); f.delelement(a, 2); System.out.println("输出删除第2个数后"); f.printarray(a); } }
3): import java.util.Scanner;
public class syyyyyyyy43 {
/** * @param args */
public static void main(String[] args) { // TODO Auto-generated method stub Scanner bbk=new Scanner(System.in); System.out.println("请输入一个十进制数:"); int a=bbk.nextInt(); int pok=a/2; int shu[]=new int [pok+1]; if(pok<3000){ if(a%2==0){ shu[0]=1; System.out.print(shu[0]); for(int i=1;i<pok+1;i++){ shu[i]=0; System.out.print(shu[i]); } }
{System.out.println("超出数组长度"); return false; } else {for(i=index-1;i<a.length-1;i++)
a[i]=a[i+1]; a[a.length-1]=999; return true; } } public void printarray(int []a) {int i; for(i=0;i<a.length;i++) System.out.printf("%8d",a[i]); System.out.println(); } } class sy42 {public static void main(String []args) {Scanner sc=new Scanner(System.in); int []a; int i; a=new int[10]; System.out.println("请输入10个数"); for(i=0;i<10;i++) {a[i]=sc.nextInt(); } first f=new first(); //生成对象才可以调用外部类方法
实验成绩:
教师:**
**年 09 月 23 日
else for(int i=0;i<pok+1;i++){ shu[i]=1; System.out.print(shu[i]); }
} else System.out.print("输入过大");
} }
五、实验结果与分析(含程序、数据记录及分析和实验总结等):
六:思考题:
找一个 数组典型应用的题目以及答案 七、教师评语:
3、给定一个十进制正整数(不超过 3000 位) , 请将其转换成对应的二进制整数 比如 3465555369355754989772
输出 101110111101111000111101111101110010000100111001011011011110100011001100
四、实验步骤: 1: import java.util.Scanner; public class sy41 {