JAVA第十一次作业

1.编写一个程序,实现从命令行参数输入两 个字符串类型的数值,并计算输出两个数值的 和。 [必做题] 

package xhy;

import java.util.Scanner;

public class Text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("请输入两个字符串类型的数值");
        String a=input.next();
        String b=input.next();
        int c=Integer.parseInt(a);
        int d=Integer.parseInt(b);
        int e=c+d;
        System.out.println(e);
    }

}

 

2编写一个程序,实现从命令行参数输入一 字符串,统计该字符串中字符“e”出现的次数 。(识点:String中常用的方法) [必做题]

package xhy;

import java.util.Scanner;

public class Text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String a=input.next();
        int b=0;
        for(int i=0;i<a.length();i++) {
            switch(a.charAt(i)) {
            case'e':
                b+=1;
            }
        }
        System.out.println("该字符串中'e'出现"+b+"次");
    }

}

 

3.生成十个0~100之间的随机数,放到数组中 ,然后排序输出。(知识点:Math类取整,获 得随机数等) [必做题] 

package xhy;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class Text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random a=new Random();
        int[]b=new int[10];
        for(int i=0;i<b.length-1;i++) {
            int c=a.nextInt(100);
            b[i]=c;
        }
        Arrays.sort(b);
        System.out.println(Arrays.toString(b));
    }

}

 

4.巴黎时间比北京时间晚7个小时,纽约时间比 北京时间晚12个小时,试编写一程序,根据输入 的北京时间输出相应的巴黎和纽约时间。[选做题 

 

 

 

5、解析一个邮箱地址是否合法,如果合法则打印 出用户名部分和该邮箱所属的网站域名,如果邮 箱地址不合法则显示不合法的原因 [选做题] • 5.1 提示:邮箱地址不合法的因素: • 5.1.1邮箱地址中不包含@. • 5.1.2邮箱地址中含有多了@. • 5.1.3邮箱地址中.出现在@的前面 • 5.1.4用户名里有其他字符 课后作业 • 5.2实现步骤: • 5.2.1创建一个类,类名:mailtest • 类图如下:

 

package xhy;

 

import java.util.Scanner;

 

public class Text {

 

 public static boolean testMail(){

         Scanner in = new Scanner(System.in);

         String s = in.next();

         

         //indexOf方法 在字符串检索str 返回第一个出现的位置,如果找不到则返回-1

         if(s.indexOf("@")==-1||s.indexOf(".")==-1){

             

             System.out.println("邮箱地址中不包含@或.");

             return false;

         }

            //lastIndexOf方法  在str字符串中多次出现时,将返回最后一个出现的位置

         if(s.indexOf("@")!=s.lastIndexOf("@")||s.indexOf(".")!=s.lastIndexOf(".")){

             System.out.println("邮箱地址中含有多了@或.");

             return  false;

         }

           // @的位置比 。大,  @的位置靠后

         if(s.indexOf("@")>s.lastIndexOf(".")){

             System.out.println("邮箱地址中.出现在@的前面");

             return false;

         }

           // 遍历@位置前面的数据

         for(int i=0;i<s.indexOf("@");i++){

             //charAt() 方法用于返回指定索引处的字符

             if( (s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z')

                     ||(s.charAt(i)>='0'&&s.charAt(i)<='9')){

                 

             }else{

                 System.out.println("用户名里有其他字符");

                 return false;

             }

             

         }

         return true;

     }

 

     public static void main(String[] args) {

         // TODO Auto-generated method stub

         

         if(llt.testMail()){

             System.out.println("邮箱格式合法");

         }else{

             System.out.println("邮箱格式不合法");

         }

  }

}

 

 

 

 

posted @ 2023-06-16 01:10  徐慧羽  阅读(15)  评论(0)    收藏  举报