您的位置:首页 > 编程语言 > Java开发

JAVA 周练一 (简单数学)

2017-09-21 10:25 197 查看
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);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java