java实验报告模板

河南工业大学实验报告

课程    Java程序设计    _ 实验名称  一、Java程序流程控制

院    系____                   ____  专业班级__               _________

姓    名_______________             学    号____________             _

指导老师:                          日    期                         

一.      实验目的

熟悉Java语言中的数据类型、变量声明、流程控制语句。

二.      实验要求

每个人独立完成程序的调试、运行,将运行结果的屏幕截图粘贴在代码的下方。

三.      实验内容

教材第四章练习题:1、2、5、8、11

四.      实验过程及结果

//下面仅为参考例子,书写自己的实验报告时请删除

题目1:xxxxxx(题目内容与要求)

public class IfDemo {

     public static void main(String[] args) {

        int score = 70;

        if (score >= 60 )

            System.out.println("及格");

       else

            System.out.println("不及格");

    }

}

运行结果:

//参考例子结束

五.      实验中的问题及心得

 

第二篇:String实验报告模板

Java实验报告

一、实验代码(必须带注释,用红色标识注释)

1.      第一题1、随机生成一个6位的正整数,编程实现由这六位数字生成的最大数和最小数。

 import java.io.IOException;//这个包用来捕获输入输出异常

import java.util.Arrays;//导入Arrays的一些工具方法,如Arryas.sort()

import java.util.Random;//用于导入随机数这个类

publicclass Number {

     publicstaticvoid main(String[] args)throws IOException  {

         // TODO 自动生成的方法存根

     //Scanner reader =new Scanner(System.in);

     Random random = new Random();   //创建随机数这个类的一个对象

     int max=1000000;//规定最大值和最小值的取值范围

     int min=100000;

     int  a=random.nextInt(max)%(max-min+1) + min;//a就是最小值min到最大值max之间的任意随机数

     String x=a+"";

     String str1[] = x.split(""); //用“ ”分割,放入集合

     System.out.print("生成的六位数为:") ;  

     print(str1);

     System.out.print("组成的最小值为:");//输出最小值

     Min(str1);

     print(str1);

     System.out.print("组成的最大值为:");//输出最大值

     Max(str1);

     print(str1);

     }

     publicstaticvoid Max(String str[])//求六个数组成的最大值

     {

          for(int i=0;i<str.length;i++)//用冒泡排序法

               for(int j=i+1;j<str.length;j++)

                    if(str[j].compareTo(str[i])>0)

                    {                        

                       @SuppressWarnings("unused")

                       //屏蔽java编译中的一些警告信息:定义的变量在代码中并未使用且无法访问

                       String temp=str[i];

                        str[i]=str[j];

                        str[j]=temp;

                    }

     }

//求六个数组成的最小值

     publicstaticvoid Min(String str[])

     {

         Arrays.sort(str);

         for(int i=0;i<str.length;i++)

              if(str[i].compareTo("0")>0)

                   {  

                       String a=str[0];

                       str[0]=str[i];

                       str[i]=a;

                       break;

                   }

     }

//输出字符的函数

     public  staticvoid print(String str[])

     {

         for(String s:str)//foreach函数用来处理字符通用字符的长度的情况

              System.out.print(s);

         System.out.println();

     }

}

2.      第二题使用命令行参数读入三个字符串,第三个字符串为一个带目录的文件名,

如:java StringDemo2 hello el F:\a\b\c\file1.etca,完成下列功能:

1)如果参数的数目不够,显示相应的提示信息并退出程序的执行。

2)如果第二个字符串在第一个字符串中出现过,则返回true值,否则返回false--true

public class Demo {

public static void main(String[] args) {

         //判断传进来的参数数量是否正确

         if(args.length <3){//判断

              System.out.println("参数数量不足");

              return;

         }

         //判断第一个字符串是否包含了第二个字符串

         if(args[0].contains(args[1])){

              System.out.println("true");

         }else{

              System.out.println("false");

         }

         //获取第三个字符串里的文件名

         String fName = args[2].trim();      

         int pre = fName.lastIndexOf("\\") + 1;//”取\\的位置”

         int rear = fName.lastIndexOf(".");//截取”.”的位置

         String fileName = fName.substring(pre, rear);//把文件名截取出来

         System.out.println("fileName = " + fileName);

     }

}

3.第三题读取键盘输入的任意字符串,如:She is a very good teacher按要求执行以下操作:

(1) 读取键盘输入的字符,如‘e’,统计该字符在字符串串中出现的次数

(2) 统计某字符串如”er” ,在字符串中出现的次数

(3) 将字符串中每个单词的首字母变成大写,形成新的字符串,并输出。

import java.io.IOException;

import java.util.*;

publicclass Numbe {

     publicstaticvoid main(String[] args)throws IOException  {

         // TODO 自动生成的方法存根

         @SuppressWarnings("resource")

         Scanner reader =new Scanner(System.in);

         String str;//用来接收用户输入的字符串                      

         //byte[] b=str.getBytes();     

         int choice=0;//用来接收用户选择的功能

          System.out.print("请输入一串字符:");

          str=reader.nextLine();//接收一行字符

          menu();//输出选项的函数      

         while(true)

         {    System.out.print("请输入你的选择:");       

              choice=reader.nextInt();//接收用户的选择

              switch(choice)

              {

              //统计一个字符在字符串串中出现的次数

              case 1:

              {

                   System.out.print("请输入一个字符(输入多个则默认为第一个):");

                   String a=reader.next();

                    char ch=a.charAt(0);//将String类型的字符转换为char型

                    //调用char_number函数

                   // 统计一个字符在字符串串中出现的次数

                   System.out.println("字符 '"+ ch +"' "+"出现次数为:"+char_number(ch,str));

              }break;

              case 2:

              {

                   System.out.print("请输入一个字符串:");

                   String s=reader.next();//接收用户的字符串并赋值给s

                    //调用char_number函数

                   // 统计一个字符串在字符串串中出现的次数

                   System.out.println( "字符串 “ "+s+" ”"+"出现次数为: "+string_number(s,str));

              }break;

              case 3:

              {//建立StringBuilder 类型的字符串

                   StringBuilder str1=new StringBuilder();

                   //调用capitalize函数将字符串str的每个单词的首字母变成大写

                   str1=capitalize(str);

                   System.out.println("首字母变成大写后为");

                   System.out.println(str1);

              }break;

              case 0:

              {

                   return;

              }

              default:{return;}

              }       

         }

     }

    //将字符串str中的每个单词的首字母变成大写

     publicstatic StringBuilder capitalize(String str)

     {

         String words[] = str.split(" "); //将字符串str用“ ”分割,放入集合word中

         StringBuilder str1=new StringBuilder();

         for(int i = 0; i < words.length; i++)

         {

          words[i] = words[i].substring(0,1).toUpperCase() + words[i].substring(1);

          //循环截取每个item的首位,然后ToUpper()将其变为大写

          //words[i].substring(1)去掉字符串打头的字符

         }

     for(int i=0;i<words.length;i++)

     {

         str1.append(words[i]+" ");//将words里的字符从尾部添加给字符str1

     }

     return str1;//返回字符str1

         }

        

     //统计一个字符在字符串串中出现的次数

     publicstaticint char_number(char ch,String str)

     {

          int count = 0; 

          //遍历整个字符串

          //判断字符串是否与接受用户的字符相等

          //相等即加1      

          for(int i=0;i<str.length();i++)

          { 

               count = (str.charAt(i)==ch)?count+1:count;

          }

          return count;

         //返回计数器

     }

     publicstaticint string_number(String a,String str)

     {   int index=0;

         int count=0;

         //第一种调用regionMatches函数的方法实现

         /*for(int i=0;i<str.length();i++)

     {

         if(str.regionMatches(i,a, 0, a.length()))

         {

              count++;

         }

     }

     */

         //第二种调用检索函数indexOf

         //每一次的位置都是上一次检索的位置的后面一位

         //直到返回值为-1

         while(true)

         {

              index = str.indexOf(a, index + 1); 

              if (index > 0)

             {  count++; }

          else

             { break; } 

     }

         return count;

     }

//主界面输出

     publicstaticvoid menu()

     {

         System.out.println("\t(1)统计字符出现的次数");

         System.out.println("\t(2)统计某字符串出现的次数");

         System.out.println("\t(3)将首字母变成大写");

         System.out.println("\t(4)退出");

     }

}

二、实验运行结果截图

1.      第一题

2.      第二题

说明: C:\inetpub\1561355926\Image\C2C\FABC53B24C9697B46F513662FDB5E249.png

3.       第三题

三、实验中的错误罗列及解决办法

1、错误1:

大小写转换后字符出错

解决办法:

去掉字符串的头部后连接在一起

2、错误2

  第一题输出最小值的时候回把0放在最前面

解决办法:

先从大到小排序,然后将第一个不为0 的数放在第一位

Arrays.sort(str);

         for(int i=0;i<str.length;i++)

              if(str[i].compareTo("0")>0)

                   {  

                       String a=str[0];

                       str[0]=str[i];

                       str[i]=a;

                       break;

                   }

3. 错误3

相关推荐