JAVA 周练一 (简单数学)

HDU 2000 字符排序

需要注意的是JAVA的格式和部分函数
如 str.toCharArray() 函数,将字符串转化为字符数组。
input.next(),将输入已字符串形式读入,类似的还有 nextInt();

import java.util.*;
public class Main{
    public static void main( String[] args ){
        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            String str = input.next();
            char arr[] = new char[str.length()];
            arr = sort(str);
            for( int i=0; i<arr.length; i++ ){
                System.out.print(arr[i]);
                if( i<arr.length-1 ){
                    System.out.print(" ");
                }
            }
            System.out.println();
    }
}       
    public static char[] sort( String str ){
        char ch[] = str.toCharArray();
        Arrays.sort(ch);
        return ch;
    }
}

HDU 2001 两点距离计算

利用this实例化了对象,再通过对象来调用函数,面向对象的思想可以让程序变得简洁

import java.util.*;

public class Main{

    private double x;
    private double y;

    public Main(double x,double y){
        this.x = x;
        this.y = y;
    }

    public double dis( Main p ){
        return Math.sqrt((this.x-p.x)*(this.x-p.x)+(this.y-p.y)*(this.y-p.y));
    }

    public static void main( String[] args){
        Scanner input = new Scanner(System.in);
        while( input.hasNext() ){
            double x1 = input.nextDouble();
            double y1 = input.nextDouble();
            Main p1 = new Main(x1,y1);
            double x2 = input.nextDouble();
            double y2 = input.nextDouble();
            Main p2 = new Main(x2,y2);
            double diss = p1.dis(p2);
            System.out.printf("%.2f",diss);
            System.out.println();
        }

    }
}

HDU 2005 第几天

注意JAVA和C++数组初始化的区别,以及新学习的函数split,可以将字符串按照标志转化成字符串数组,再将字符串数组通过parseInt函数来转化成Int型。

parseInt(string, radix)
radix代表基数,可选,默认为十进制

import java.util.*; 

public class Main{

    private int year;
    private int month;
    private int day;

    public Main(int year,int month,int day){
        this.day = day;
        this.month = month;
        this.year = year;
    }

    public int contDay( Main p ){
        int c[] = {31,28,31,30,31,30,31,31,30,31,30,31};
        int ans = 0;
        for(int i = 0; i<p.month-1; i++ ){
            ans += c[i];
        }
        ans += p.day;
        int flag = 0;
        if( (p.year%4 == 0)&&(p.year%100!= 0) ){
             flag = 1;
        }
        if( p.year%400 == 0 ){
            flag = 1;
        }
        if( p.month > 2){
            ans += flag;
        }
        return ans;
    }

    public static void main( String[] args ){
        Scanner input = new Scanner(System.in);
        while( input.hasNext() ){
            String aStr = input.next();
            String[] bStr = aStr.split("/");
             int year = Integer.parseInt(bStr[0]);
             int month = Integer.parseInt(bStr[1]);
             int day = Integer.parseInt(bStr[2]);
             Main p = new Main(year,month,day);
             int ans = p.contDay(p);
             System.out.println(ans);
        }
    }
}

Codeforce #851A
简单题

import java.util.*;

public class Main{

    public static void main( String[] args){
        Scanner input = new Scanner(System.in);
        while( input.hasNext() ){
            int n = input.nextInt();
            int k = input.nextInt();
            int t = input.nextInt();
            int ans = 0;
            if( t <= k ){
                ans = t;
            }else if( t > k && t <= n ){
                ans = k;
            }else{
                ans = k-(t-n);  
            }
            System.out.println(ans);
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值