实验一(java编程)

本次编程需要注意的地方:
           1 主类一律改成 public class Main
           2 在测试界面将cpp改成java
           3 循环读入时,Scanner sc=new Scanner(System.in);出现一次

这里写图片描述

import java.util.Arrays;
import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
import java.util.Iterator;
import java.util.Set;
import java.util.*;
class node
{
    int id;
    int num;
}

public class Main {
    public static void main(String[] args) {
        oder();
    }
    public static void oder() {
        Map<Integer,Integer>hashmap=new HashMap<Integer,Integer>();
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        for(int x=0;x<n;x++){
            int key = sc.nextInt();
            int temp=1;
            if(hashmap.containsKey(key))
                temp=hashmap.get(key)+1;
             hashmap.put(key, temp);
        }
        Set<Integer> ks = hashmap.keySet();
        Iterator<Integer>it=ks.iterator();
        node a []=new node[10000];
        int sum=0;
        while(it.hasNext()) {
            int key=it.next();
            int value=hashmap.get(key);
            a[sum]=new node();   //容易漏掉这里,不然会报错
            a[sum].id=(int)key;a[sum].num=(int)value;
            sum++;
        }
        /*推荐自己写冒泡排序,cmp函数容易错*/
        for(int x=0;x<sum;x++) {
            for(int y=sum-1;y>x;y--) {
                if((a[y].num>a[y-1].num)||(a[y].num==a[y-1].num&&a[y].id<a[y-1].id)) {
                    node temp=a[y];
                    a[y]=a[y-1];
                    a[y-1]=temp;
                }
            }
        }
        for(int i=0;i<sum;i++)
        System.out.println(a[i].id+" "+a[i].num);
  }

}

这里写图片描述

import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        oder();
    }
    public static void oder() {
        Scanner sc = new Scanner(System.in); 
        int n = sc.nextInt();    
        int [] array=new int [n];
        for(int x=0;x<n;x++) {
            int key=sc.nextInt();
            array[x]=key;
        }
        Arrays.sort(array);
        int sum=0;
        for(int x=1;x<n;x++) {
            if(array[x]-array[x-1]==1) sum++;
        }
        System.out.println(sum);
    }
}

这里写图片描述

import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        oder();
    }
    public static void oder() {
        Scanner sc = new Scanner(System.in); 
        int n = sc.nextInt();    
        int [][] array=new int [105][105];
        for(int x=0;x<105;x++)
            for(int y=0;y<105;y++)
                array[x][y]=0;
        for(int x=0;x<n;x++) {
            int x1=sc.nextInt();
            int x2=sc.nextInt();
            int y1=sc.nextInt();
            int y2=sc.nextInt();
            for(int a=x1;a<y1;a++)
                for(int b=x2;b<y2;b++)
                    array[a][b]=1;
        }
        int sum=0;
        for(int x=0;x<105;x++)
            for(int y=0;y<105;y++)
            if(array[x][y]==1) sum++;
        System.out.println(sum);
    }
}

这里写图片描述

import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        oder();
    }
    public static void oder() {
        Scanner sc=new Scanner(System.in);
        String str=sc.next();
        int ok=sc.nextInt();
        int n=sc.nextInt();
        for(int x=0;x<n;x++) {
            String temp=sc.next();
            if(ok!=0) {
                int idex=temp.indexOf(str);  //直接使用子串判断函数
                if(idex!=-1)
                System.out.println(temp);
            }
            else {
                int len=temp.length();
                int len1=str.length();
                for(int i=len1;i<=len;i++) {
                    String s1=temp.substring((i-len1),i);
                    if(str.equalsIgnoreCase(s1)) //大小写忽略的子串判断函数
                    {
                        System.out.println(temp);break;
                    }
                }
            }
        }
  }

}

这里写图片描述

import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        oder();
    }
    public static void oder() {
        int [] array= {0,31,28,31,30,31,30,31,31,30,31,30,31};
        String [] data= {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
        Scanner sc = new Scanner(System.in);
        while(true) {
        int sum = sc.nextInt();
        int sum1=sum;
        if(sum1==-1) break;
        int year=2000,month=0,day=1,data1=5;
        while(true) {
            if((year%4==0&&year%100!=0)||year%400==0) {
                if(sum<366) break;
                sum-=366; year++;
                continue;
            }
            if(sum<365) break;
            sum-=365;
            year++;
        }
        if((year%4==0&&year%100!=0)||year%400==0)
            array[2]=29;
        for(int x=0;x<13;x++) {
            if(sum<array[x]) break;
            sum-=array[x];
            month++;
        }
        sum+=day;
    System.out.println(year+"-"+month/10+month%10+"-"+sum/10+sum%10+" "+data[(data1+(sum1%7))%7]);
        }
  }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机的小粽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值