函数调用!//主类中自定义函数、自定义类中调用
Java valueOf() 方法 //将字符串形式的数字变成int类型的数字 也可以换成不同的进制数
JAVA中数组作为函数参数传递
判断一个数是不是int类型:if ( x == (int) x)
sort()函数使用:
排序时,数组用多少开多少
不然会将未使用的数组部分,初始化为 0 ,排序时会排在前面
import java.util.Arrays;
int x[]=new int [n];
x[i]输入....
Arrays.sort(x);
字符串:
字符串之前需要取空行
取指定字符串时:
String x=sc.nextLine();//取一行
//sc.next()取空格之前的
char y=x.charAt(i);
字符串比较
String x="pop";
if(x.compareTo("top")==0)
//
AG - C语言实验——某年某月的天数 // valueOf()
import java.util.Scanner;
import java.util.Arrays;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String x[]=sc.next().split("\\\\");
int day[]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int nian=Integer.valueOf(x[0]);
int yue=Integer.valueOf(x[1]);
if(((nian%4==0&&nian%100!=0)||nian%400==0)&&yue==2)
System.out.printf("%d\n",day[yue]+1);
else System.out.printf("%d\n",day[yue]);
}
}
AY - 进制转换
Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R != 10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample
Input
7 2
23 12
-4 3
Output
111
1B
-11
import java.util.*;
public class Main {
static char a[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
'B', 'C', 'D', 'E', 'F' };// 类似全局变量。
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int f, n, r;
while (cin.hasNext())
{
f = 0;
n = cin.nextInt();
108
r = cin.nextInt();
if (n == 0)// 0 需要特判,否则没有输出。
{
System.out.println(0);
continue;
}
if (n < 0)
{
f = 1;
n = -n;
}
if (f == 1)
System.out.print("-");
get(n, r);
System.out.println();
}
cin.close();
}
public static void get(int n, int r) {
if (n == 0)
return;
int x = n % r;
get(n / r, r);
System.out.print(a[x]);
}
}
BC - 多项式求和
Description
多项式描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ……
先请你求出多项式前n项的和。
Input
第一行输入一个数T代表测试数据个数(T<=1000)。接下来T行每行1个数代表n(0<=n< 2^31)。
Output
对于每个输入样例,输出多项式和的结果(结果精确到小数点后两位)。每行输出一个结果。
Sample
Input
2
1
2
Output
1.00
0.50
import java.util.Scanner;
import java.util.Arrays;
import java.math.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner (System.in);
int t=sc.nextInt();
while(t-->0)
{
int x=sc.nextInt();
if(x>300) x=300;
double sum=1;
for(int i=1;i<x;i++)
{
sum=sum+Math.pow(-1, i)*1.0/(i+1);
}
System.out.printf("%.2f\n",sum);
}
}
}
BD - Time
BF - 统计数字问题
BG - 机器人II