Java练习题 - 工具类

  • 编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。
public class Exercise_09_01 {
  public static void main(String[] args) {
      //读取命令行数据,并进行类型转换
      int x = Integer.parseInt(args[0]);
      int y = Integer.parseInt(args[1]);
      int z = x+y;
      System.out.println(z);
      
  }
}
  • 编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。
public class Test {

  /**
   * @param args
   */
  public static void main(String[] args) {
      Scanner in = new Scanner(System.in);
      String s = in.next();
      int num = 0;
      for(int  i =0;i < s.length();i++){
          if(s.charAt(i)=='e'){
              num++;
          }
      }
      System.out.println(num);
  }

}
  • 生成十个0~100之间的随机数,放到数组中,然后排序输出。
public class Test {
  public static void num(){
      
      int[] a = new int[8];
      for(int i = 0;i<a.length;i++){
          a[i] = (int)(Math.random()*101);
      }
      Arrays.sort(a);
      for(int i = 0;i<a.length;i++){
          System.out.println(a[i]);
      }
      
  }
  public static void main(String[] args) {
      num();
  }
}
  • 巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。
import java.util.Calendar;

public class TimeTest {
  
  public void getTime(int y,int m,int d,int h,int mi){
      //获取Calendar实例
      Calendar c = Calendar.getInstance();
      //设置巴黎时间
      c.set(y,m,d,h-7,mi);
      
      //输出巴黎时间
      System.out.println("巴黎时间是"+c.get(Calendar.YEAR)+"年"+
                 ((c.get(Calendar.MONTH))+1)+"月"+
                 c.get(Calendar.DAY_OF_MONTH)+"日"+
                 c.get(Calendar.HOUR_OF_DAY)+"点"+
                 c.get(Calendar.MINUTE)+"分");
      //设置纽约时间
      c.set(y,m,d,h-12,mi);
      //输出纽约时间
      System.out.println("纽约时间是"+c.get(Calendar.YEAR)+"年"+
                 ((c.get(Calendar.MONTH))+1)+"月"+
                 c.get(Calendar.DAY_OF_MONTH)+"日"+
                 c.get(Calendar.HOUR_OF_DAY)+"点"+
                 c.get(Calendar.MINUTE)+"分");
      
  }

  public static void main(String[] args) {
      TimeTest ex = new TimeTest();
      //设置北京时间,月份是从0开始,数字2代表3月份
      ex.getTime(2015, 2, 28, 16, 50);
      
  }
}
  • 解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名.如果邮箱地址不合法则显示不合法的原因提示:
    邮箱地址不合法的因素:
    1)邮箱地址中不包含@或。
    2)邮箱地址中含有多了@或。
    3)邮箱地址中。出现在@的前面
    4)用户名里有其他字符
    实现步骤:
    (1) 创建一个类,类名:mailtest
    类图如下:
    [图片上传失败...(image-4980e0-1562067760735)]
    (类名和方法名必须与要求一样。区分大小写)
import java.util.Scanner;

public class Mailtest {
  public static boolean testMail(){
      Scanner in = new Scanner(System.in);
      String s = in.next();
      if(s.indexOf("@")==-1||s.indexOf(".")==-1){
          
          System.out.println("邮箱地址中不包含@或.");
          return false;
      }
      
      >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++){
          if( (s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z') ){
              
          }else{
              System.out.println("用户名里有其他字符");
              return false;
          }
          
      }
      return true;
  }
}

public class Test {
  /**
   * @param args
   */
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      
      if(Mailtest.testMail()){
          System.out.println("邮箱格式合法");
      }else{
          System.out.println("邮箱格式不合法");
      }
  }
}
  • 分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。
import java.util.Scanner;

public class Test {
  /**
   * @param args
   */
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      Scanner in = new Scanner(System.in);
      String s = in.next();
      String a = in.next();
      
      int num = 0;//i是循環的次數 
      
      for(int i = 0;i<s.length()-a.length();i=s.indexOf(a, i)+1){
          if(s.indexOf(a, i)!=-1){
              num++;
          }
      }
      System.out.println(num);
  }
}
  • 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。
import java.util.Scanner;

public class Test {

  /**
   * @param args
   */
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      Scanner in = new Scanner(System.in);
      String s = in.next();
      int num=0,eng=0,china=0;
      for(int i =0;i<s.length();i++){
          if(s.charAt(i)>='0'&&s.charAt(i)<='9'){
              num++;
          }else if((s.charAt(i)>='a'&&s.charAt(i)<='z')||(s.charAt(i)>='A'&&s.charAt(i)<='Z')){
              eng++;
          }else if((19968 <= s.charAt(i) && s.charAt(i) <40623)) {
              china++;
          }

      }
      
      System.out.println("数字是:"+num);
      System.out.println("英文是:"+eng);
      System.out.println("中文是:"+china);
  }
}
  • 有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。
import java.util.Scanner;

public class Test {

  /**
   * @param args
   */
  public static void main(String[] args) {
      // TODO Auto-generated method stub
      if(foo()){
          System.out.println("是回数");
      }else{
          System.out.println("不是回数");
      }
  }
  
  public static boolean foo(){
      Scanner in = new Scanner(System.in);
      String s = in.next();
      int j = s.length()-1;
      for(int i=0;i<s.length()/2;i++){            
          if(s.charAt(i)!=s.charAt(j)){               
              return false;
          }
          j--;
      }
      
      return true;
  }
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,305评论 0 9
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,839评论 0 2
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 6,938评论 0 9
  • /*【程序21】 * 作者 南枫题目:求1+2!+3!+...+20!的和 1. 程序分析:此程序只是把累加变成了...
    HUC南枫阅读 430评论 0 0
  • /* * 1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 */ import...
    煙雨樓邰郁维阅读 711评论 0 0