JAVA实验四

JAVA实验四


实验四一共八题,附上题目及完整代码。

7206
题目內容:
输入一个字符串,在输入一个字符
(1)在字符串中删除指定的字符并输出
(2)把(1)中得到的串逆序输出
输入输出说明:
输入:
goodagoodagood a
输出:
goodgoodgood
doogdoogdoog
代码编辑:

import java.util.Scanner;
public class Main {
    public static String reverse(String str){
        String r = "";
        for(int i=str.length()-1;i>=0;i--){
            r=r+str.charAt(i);
        }
        return r;
    }
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        String str;
        str=reader.next();
        String ch;
        ch=reader.next();
        str=str.replace(ch,"");
        System.out.println(str);
        str=reverse(str);
        System.out.println(str);
    }
}

7207
题目內容:
输入多个字符串,直到输入end串结束,把这些字符串存入List类中,并按字典序排序后输出。
输入输出说明:
输入:
how are you i am fine and you end
输出:
am and are fine how i you you
代码编辑:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        List<String> list = new ArrayList<>();
        String str;
        while(!"end".equals(str= reader.next())){
            list.add(str);
        }
        Collections.sort(list);
        for(String u : list) {
            System.out.printf(u+" ");
        }
    }
}

7208
题目內容:
输入一个组中选修java课的学生名单以end结束,在输入选修C++课的学生名单以end结束,输出同时选两门课的同学名单
输入输出说明:

代码编辑:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        String str;
        List<String> list1 = new ArrayList<>();
        List<String> list2 = new ArrayList<>();
        while(!"end".equals(str= reader.next())){
            list1.add(str);
        }
        Collections.sort(list1);
        while(!"end".equals(str= reader.next())){
            list2.add(str);
        }
        Collections.sort(list2);
        for(String u1 : list1) {
            for(String u2 : list2) {
                if(u2.equals(u1)) System.out.print(u1+" ");
            }
        }
    }
}

7209
题目內容:
建立一个HashMap实例,key值为String类型(表示姓名),value值为Integer类型(表示对应的年龄)。输入n,然后输入n对,key,value值,依次用put方法存入HashMap实例。现在要求
(1)再输入已存入的某一key值,输出key对应的value值(输出结果第一行)
(2)然后按照key值排序,再输出key和value值
输入输出例子:

输入:
4
Kobe 24
Anthony 7
James 6
Durant 35
Kobe
输出:
24
Anthony=7
Durant=35
James=6
Kobe=24
输入输出说明:

代码编辑:

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner reader = new Scanner(System.in);
        HashMap<String,Integer> map = new HashMap<>();
        int n = reader.nextInt();
        for(int i=0;i<n;i++){
            String name = reader.next();
            int age = reader.nextInt();
            map.put(name,age);
        }
        String name = reader.next();
        System.out.println(map.get(name));
        Iterator<String> it = map.keySet().iterator();
        TreeSet<String>tree = new TreeSet<>();
        while(it.hasNext()){
            tree.add(it.next());
        }
        it = tree.iterator();
        while(it.hasNext()){
            String k = it.next();
            Integer v = map.get(k);
            System.out.println(k+"="+v);
        }
    }
}

5895
题目內容:
输入n,计算1+2!+3!+…+n!(n是100以内的正整数!)
提示:用BigInteger完成
输入输出说明:
输入:
30
输出:
274410818470142134209703780940313
代码编辑:

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static BigInteger factor(int n){
    BigInteger a = new BigInteger("1");
    if(n==0) return a;
    for(int i=2;i<=n;i++){
        BigInteger temp = new BigInteger(String.valueOf(i));
        a=a.multiply(temp);
    }
    return a;
}
    public static void main(String[] args) {
        BigInteger sum = new BigInteger("0");
        Scanner reader = new Scanner(System.in);
        int n = reader.nextInt();
        int i=1;
        do{
            sum=sum.add(factor(i));
            i++;
        }while(i<=n);
        System.out.println(sum);
    }
}

7204
题目內容:
小红盼着放假,她天天计算距离放假(2019年7月12日)还有多少天。输入今天的时间输入格式如2019年4月21日,请你用程序输出今天(输入数据2019年4月21日)距离放假(2019年7月12日)的天数。
输入输出说明:
输入:包括年月日的时间:比如:2019年4月21日
输出:今天距离放假(2019年​7月12日)的天数
代码编辑:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        String str = reader.next();
        int y1=0;
        int m1=0;
        int d1=0;
        for(int i=0;i<4;i++)
        {
            if(str.charAt(i)<='9'&&str.charAt(i)>='0') y1=y1*10+str.charAt(i)-'0';
        }
        m1=str.charAt(5)-'0';
        for(int i=7;i<str.length();i++)
        {
            if(str.charAt(i)<='9'&&str.charAt(i)>='0') d1=d1*10+str.charAt(i)-'0';
        }
        //System.out.println(y1+" "+m1+" "+d1);
        Calendar date1 = Calendar.getInstance();
        date1.set(y1, m1-1, d1);
        long mis1 = (long) date1.getTimeInMillis();
        Calendar date2 = Calendar.getInstance();
        date2.set(2019, 6, 12);
        long mis2 = (long) date2.getTimeInMillis();
        System.out.println((mis2-mis1)/1000/60/60/24);
    }
}

5896
题目內容:
输入年月,输出该月份的日历页
输入输出说明:
输入:
2018 3
输出:
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
代码编辑:

import java.util.Calendar;
import java.util.Scanner;
class CalendarBean{
    int year,month;
    int day,weekDay;
    CalendarBean(int year,int month){
        this.year=year;
        this.month=month;
    }
    public int [] getCalendar(){
        int [] a =new int[42];
        Calendar rili = Calendar.getInstance();
        rili.set(year,month-1,1);
        weekDay=rili.get(Calendar.DAY_OF_WEEK)-1;
        day=0;
        if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) day=31;
        if(month==4||month==6||month==9||month==11) day=30;
        if(month==2){
            if(((year%4==0)&&(year%100!=0))||(year%400==0)) day=29;
            else day=28;
        }
        for(int i=weekDay,n=1;i<weekDay+day;i++){
            a[i]=n;
            n++;
        }
        return a;
    }
}
public class Main{
    public static void main(String args[]){
        Scanner reader = new Scanner(System.in);
        int year = reader.nextInt();
        int month = reader.nextInt();
        CalendarBean cb = new CalendarBean(year,month);
        int [] a = cb.getCalendar();
        for(int i=1;i<=cb.weekDay;i++){
            System.out.printf("     ");
        }
        for(int i=cb.weekDay;i<cb.weekDay+cb.day;i++){
            if(i%7==0) System.out.println();
            System.out.printf("%5d",a[i]);
        }
    }
}

7205
题目內容:
参照ArrayList类的功能,创建自己的ArrayList类:MyArrayList.
输入输出说明:
a
代码编辑:

不会
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值