Java二级操作题第6套

基本操作

在考生文件夹中存有文件名为Java_1.java文件,该程序是不完整的,请在注释行"//Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
对Java_1.java文件进行完善并调试,使程序的输出结果如下:
字符串 "现在学习如何访问一个字符串"
字符串长度:13
其中第7个字符是:访
从字节数组的第7到12获取字符是:访问一个字符

public class Java_1{
   //*********Found**********
   public static void ___________(String args[]){
      String string="现在学习如何访问一个字符串";
      System.out.println("字符串 \""+string+"\"");
      //*********Found**********
      System.out.println("字符串长度:"+_________________________);
      //*********Found**********
      System.out.println("其中第7个字符是:"+string._______________(6));
      char sub[] = new char[20];
      System.out.print("从字节数组的第7到12获取字符是:");
      string.getChars(6,12,sub,0);
      System.out.println(sub);
   }
}

本题考查的是字符串操作。
文件开始定义mina函数,所以第一空填"main"。String类中常用的成员方法中,方法length()的功能是返回字符串的长度,所以第二空填"string.length()"。charAt()方法返回指定索引处的char值。索引范围是从0到length()-1,
所以第三空填"charAt"。
具体程序如下:

public class Java_1{
   //*********Found**********
   public static void main(String args[]){
      String string="现在学习如何访问一个字符串";
      System.out.println("字符串 \""+string+"\"");
      //*********Found**********
      System.out.println("字符串长度:"+string.length());
      //*********Found**********
      System.out.println("其中第7个字符是:"+string.charAt(6));
      char sub[] = new char[20];
      System.out.print("从字节数组的第7到12获取字符是:");
      string.getChars(6,12,sub,0);
      System.out.println(sub);
   }
}

简单应用

在考生文件夹中存有文件名为Java_2.java文件,该程序是不完整的,请在注释行"//Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
构造一个5行5列的矩阵并将其打印输出,使程序的输出结果如下:
1 2 3 4 5
6 7 8 9 0
1 2 3 0 0
4 5 0 0 0
6 0 0 0 0

public class Java_2{
   public static void main(String args[]) { 
      //*********Found**********
      int a[][] = ________________ int[5][5];
      int i,j,k = 1;
      for(i=0;i<5;i++)
         for(j=0;j<5;j++)
            if((i+j)<5){
               a[i][j] = k;
               //*********Found**********
               ____________________;
               if (k > 9) k = 1;
            }else
               //*********Found**********
               ____________________;
      for(i=0;i<5;i++){ 
         for(j=0;j<5;j++)
            System.out.print(a[i][j]+ "   ");
         //*********Found**********
         _________________________;
      }
   }
}

本题考查的是多维数组。
用new关键字初始化多维数组,只指定数组行数和列数,为数组分配存储空间,并不给数组元素赋初始值。用new关键字初始化数组的格式如下:数组名=new
类型标识符[行数][列数],所以第一空填"new"。第一组for循环的作用是为二维数组赋值,变量i为行数,变量j为列数,根据语句"if((i+j)<5)“可知,当所判断元素为上三角元素时,通过语句"a[i][j]=k;“为其赋值,k的初始值为1,随循环依次递增,所以第二空填:“k++”。当”(i+j)>=5"时,不满足if的条件,所以自动转到else语句所带的表达式中,因为要求输出的矩阵中右下三角元素都为0,所以,第三空填"a[i][j]=0”。最后打印要实现自动换行,所以第四空填"System.out.println();"。
具体程序如下:

public class Java_2{
   public static void main(String args[]) { 
      //*********Found**********
      int a[][] = new int[5][5];
      int i,j,k = 1;
      for(i=0;i<5;i++)
         for(j=0;j<5;j++)
            if((i+j)<5){
               a[i][j] = k;
               //*********Found**********
               k++;
               if (k > 9) k = 1;
            }else
               //*********Found**********
               a[i][j] = 0;
      for(i=0;i<5;i++){ 
         for(j=0;j<5;j++)
            System.out.print(a[i][j]+ "   ");
         //*********Found**********
         System.out.println();
      }
   }
}

综合应用

在考生文件夹中存有文件名为Java_3.java文件,该程序是不完整的,请在注释行"//Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
用冒泡法对数据进行排序,使程序的输出结果如下:
排序前:
32 18 41 23 2 56 36 67 59 20
排序后:
2 18 20 23 32 36 41 56 59 67

import java.io.*;
public class Java_3{
   public static int data[]={32,18,41,23,2,56,36,67,59,20};
   public static void main(String args[]){
      int i;
      //*********Found**********
      int index=data.__________________;
      System.out.println("排序前:");
      for(i=0;i<index;i++)
         System.out.print(" "+data[i]+" ");
      System.out.println();
      //*********Found**********
      BubbleSort( _________________ );
      System.out.println("排序后:");
      for(i=0;i<index;i++)
         System.out.print(" "+data[i]+" ");
      System.out.println();
   }
   // 冒泡法排序
   public static void BubbleSort(int index){
      int i,j;
      int temp;
      for(j=1;j<index;j++){
         for(i=index-1;i>=j;i--){
	    if(data[i]<data[i-1]){  //比较相邻的两个数
               temp=data[i];
               data[i]=data[i-1];
               //*********Found**********
               data[i-1]= __________________ ;
            }
         }
      }
   }
}

本题考查的是数据结构。

冒泡排序法

目的:按要求从大到小或从小到大排序。

基本思路:对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有n个元素,那么一共要进行n-1轮比较,第i轮要进行j=n-i次比较。(如:有10个元素,则要进行10-1轮比较。第3轮则要进行10-3次比较)。
第一个for循环的作用是依次输出排序前data数组中的元素,可知变量index的值应该为数组元素的个数,由此可知第一空填"length";BubbleSort()方法的功能是将数据用冒泡法进行排序,其参数是数组元素的个数,故第二空填"index";根据冒泡法的基本思路可知第三空填"temp"。

具体程序如下:

import java.io.*;
public class Java_3{
   public static int data[]={32,18,41,23,2,56,36,67,59,20};
   public static void main(String args[]){
      int i;
      //*********Found**********
      int index=data.length;
      System.out.println("排序前:");
      for(i=0;i<index;i++)
         System.out.print(" "+data[i]+" ");
      System.out.println();
      //*********Found**********
      BubbleSort( index );
      System.out.println("排序后:");
      for(i=0;i<index;i++)
         System.out.print(" "+data[i]+" ");
      System.out.println();
   }
   // 冒泡法排序
   public static void BubbleSort(int index){
      int i,j;
      int temp;
      for(j=1;j<index;j++){
         for(i=index-1;i>=j;i--){
	    if(data[i]<data[i-1]){  //比较相邻的两个数
               temp=data[i];
               data[i]=data[i-1];
               //*********Found**********
               data[i-1]= temp ;
            }
         }
      }
   }
}
posted @   槑孒  阅读(405)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示