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);
}
}
}