Java第五次作业

153 - 判断回文

Time Limit: 1000  Memory Limit: 65535

Submit: 187  Solved: 124

Description

用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数,是则输出Y,否则输出N。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。

Input

整数

Output

几位数

是否是回文数

Sample Input

12121

Sample Output

5

Y

162 - 字符串

Time Limit: 1000  Memory Limit: 65535

Submit: 128  Solved: 74

Description

对于输入字符串s(假设字符串只包含字母构成的单词和空格),完成如下功能:

1. 统计该字符串中字母c出现的次数

2. 求该字符串的逆

3. 输出该字符串中子串str的所有位置(无需考虑子串叠加现象)

4. 将字符串中每个单词的第一个字母变成大写并输出

Input

字符串s

字母c

子串str

Output

c在s中出现的次数

s的逆

str在s中的所有位置

所有单词首字母大写后的字符串

Sample Input

I scream you scream we all scream for icecream

m

eam

Sample Output

4

maerceci rof maercs lla ew maercs uoy maercs I

5 16 30 43

I Scream You Scream We All Scream For Icecream

__________________________________________________

import java.util.*;

public class Main {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Scanner scan=new Scanner(System.in);

        String s=scan.nextLine();


        //1. 统计该字符串中字母c出现的次数

        String c=scan.nextLine();

        int count=0;

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

            char tmp=s.charAt(i);

            if(tmp==c.charAt(0)){

                count++;

            }

        }

        System.out.println(count);


        //2. 求该字符串的逆

        StringBuffer sb=new StringBuffer(s);

        System.out.println(sb.reverse());


        //3. 输出该字符串中子串str的所有位置(无需考虑子串叠加现象)

        String str=scan.nextLine();

        int i=0;

        while(s.indexOf(str,i)!=-1){

            if(i!=0){

                System.out.print(" ");

            }

            System.out.print(s.indexOf(str,i));

            i=str.length()+s.indexOf(str,i);


        }

        System.out.println();

        //4. 将字符串中每个单词的第一个字母变成大写并输出

        String[] split=s.split(" ");

        for(int ii=0;ii<split.length;ii++){

            String ss=split[ii].substring(0,1).toUpperCase()+split[ii].substring(1);

            System.out.print(ss+" ");

        }

    }

}

###############################################

163 - 各类字符数

Time Limit: 1000  Memory Limit: 65535

Submit: 97  Solved: 76

Description

从键盘输入一个字符串,程序输出该字符串中的大写英文字母数,小写英文字母数以及非英文字母数

Input

字符串

Output

大写英文字母数

小写英文字母数

非英文字母数

Sample Input

Hello My Dear Friend, I Miss You Very Much!

Sample Output

9

24

10

____________________________________________

import java.util.*;

public class Main {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Scanner scan=new Scanner(System.in);

        String s=scan.nextLine();

        int counta=0;

        int countA=0;

        int count_=0;

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

            if(s.charAt(i)>='A'&&s.charAt(i)<='Z'){

                countA++;

            }

            else if(s.charAt(i)>='a'&&s.charAt(i)<='z'){

                counta++;

            }

            else count_++;

        }

        System.out.println(countA);

        System.out.println(counta);

        System.out.println(count_);

    }

}

#########################################################

164 - 解析二维数组

Time Limit: 1000  Memory Limit: 65535

Submit: 117  Solved: 61

Description

读入一个字符串,该字符串表示一个整型二维数组d,数组中的元素通过解析字符串参数获得。例如,字符串参数:“1,2;3,4,5;6,7,8”,对应的数组为:

d[0,0] = 1 d[0,1] = 2 

d[1,0] = 3 d[1,1] = 4 d[1,2] = 5

d[2,0] = 6 d[2,1] = 7 d[2,2] = 8

打印这个数组各元素的内容

Input

字符串

Output

二维数组各元素

Sample Input

1,2;3,4,5;6,7,8

Sample Output

d[0,0] = 1 d[0,1] = 2

d[1,0] = 3 d[1,1] = 4 d[1,2] = 5

d[2,0] = 6 d[2,1] = 7 d[2,2] = 8

____________________________________

import java.util.*;

public class Main{

public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        String s=scan.next();

        String[] st=s.split(";");

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

        String[] st2=st[i].split(",");

        for(int j=0;j<st2.length;j++) {

        if(j!=0) System.out.print(" ");

        System.out.print("d["+i+","+j+"] = "+st2[j]);

        }

        System.out.println();

        }

    }

}

###############################################

165 - 数据类型判断

Time Limit: 1000  Memory Limit: 65535

Submit: 102  Solved: 67

Description

从键盘分别输入通过空格分割的整型(int)、浮点型(double)、字符型(String)、布尔型(boolean),根据读取的内容判断他们的类型并将他们解析为正确的对象,并都放到一个数组中。输出各个对象的类型

Input

字符串

Output

数据类型

Sample Input

2.1 true 123 abcde

Sample Output

double boolean int String

____________________________________________

import java.util.*;

public class Main {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Scanner scan=new Scanner(System.in);

        int f=0;

        while(scan.hasNext()){

            if(f!=0)

                System.out.print(' ');

            if(scan.hasNextInt())

                System.out.print("int");

            else if(scan.hasNextDouble())

                System.out.print("double");

            else if(scan.hasNextBoolean())

                System.out.print("boolean");

            else

                System.out.print("String");

            scan.next();

            f++;

        }

    }

}

##################################################

158 - 打印双休日

Time Limit: 1000  Memory Limit: 65535

Submit: 100  Solved: 57

Description

输入年份和月份,打印当月所有双休日日期,打印格式为:“2018-06-16”

Input

年份和月份

Output

双休日日期

Sample Input

2018 6

Sample Output

2018-06-02

2018-06-03

2018-06-09

2018-06-10

2018-06-16

2018-06-17

2018-06-23

2018-06-24

2018-06-30

___________________________

import java.util.*;

public class Main{

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        int year=scan.nextInt();

        int month=scan.nextInt();


        Calendar c = Calendar.getInstance();

        c.set(Calendar.YEAR, year);

        c.set(Calendar.MONTH, month - 1);


        int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);

        int start = 1;

        while (start <= max) {

            c.set(Calendar.DAY_OF_MONTH, start);

            if (isWeekenday(c)) {

                System.out.println(year+"-"+String.format("%02d",month)+"-"+String.format("%02d",start));

            }

            start++;

        }

    }


    public static boolean isWeekenday(Calendar c) {

        return c.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY || c.get(Calendar.DAY_OF_WEEK)  == Calendar.SATURDAY;

    }

}

##################################################

166 - 比较日期

Time Limit: 1000  Memory Limit: 65535

Submit: 99  Solved: 54

Description

从命令行输入两个日期(格式为MM,dd,yyyy),程序解析日期,判断两个日期的大小,以及两个日期的间隔天数。

Input

两个日期

Output

日期大小关系

间隔天数(正数)

Sample Input

04,12,2012 04,21,2012

Sample Output

<

9

HINT

月份是从0开始

_________________________________________________

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.*;

public class Main{

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        String d1=scan.next();

        String d2=scan.next();

        String[] st1=d1.split(",");

        String[] st2=d2.split(",");


        Date date1 = new Date(Integer.parseInt(st1[2]),Integer.parseInt(st1[0]),Integer.parseInt(st1[1]));

        Date date2 = new Date(Integer.parseInt(st2[2]),Integer.parseInt(st2[0]),Integer.parseInt(st2[1]));

        /* Calendar c1 = Calendar.getInstance();

        c1.set(Calendar.YEAR, Integer.parseInt(st1[2]));

        c1.set(Calendar.MONTH, Integer.parseInt(st1[0]));

        c1.set(Calendar.DAY_OF_MONTH, Integer.parseInt(st1[1]));

        Calendar c2 = Calendar.getInstance();

        c2.set(Calendar.YEAR, Integer.parseInt(st2[2]));

        c2.set(Calendar.MONTH, Integer.parseInt(st2[0]));

        c2.set(Calendar.DAY_OF_MONTH, Integer.parseInt(st2[1]));*/

        if (date1.equals(date2)) {

            System.out.println("=");

        } else if (date1.before(date2)) {

            System.out.println("<");

        } else System.out.println(">");

        long d = (date2.getTime()-date1.getTime())/86400000;

        System.out.println(Math.abs(d));


        scan.close();

    }

}

#####################################################

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

推荐阅读更多精彩内容