C++——JAVA
int t;——public (static) int t; ——定义变量t;
int vis[10];——public (static) int [ ]vis = new int [10];——定义一维数组vis[10];
char ch[10][10]——public char[ ][ ]ch = new char [10][10];——定义二维数组ch[10][10];
...——int t = cin.nextInt();——定义t并且赋值;
printf("请输入数字:")——System.out.println("请输入数字:"); —— 输出;
while(scanf("%d",&)!=EOF)——while(cin.hasNext())——多组数据输入;
关于java里的System.out.printf,(println ,print)之间的区别 :
printf可以按照格式输出
println可以在输出后回车换行
print就是单纯的输出
一、数组初始化 :
C++:
int a[100];
memset(a,-1,sizeof(a));
Java:
int [] a = new int [100];
Arrays.fill(a,-1);
!!Java 用Arrays.fill() 初始化 二维数组( fill()函数只能填充一维数组 ):
int[][] map=new int[4][5];
int[] ten=new int[10];
Arrays.fill(ten, -1);
Arrays.fill(map,ten);
二、升序排序:
假如数组为 mapp[SIZE];
C++:
sort(mapp, mapp+SIZE); //对所有元素
sort(mapp+x, mapp+y+1); //对mapp[x]到mapp[y];
假如数组为
Java:
Arrays.sort(mapp);//对所有元素;
Arrays.sort(mapp, x, y);//对从x到y,从mapp[x]到mapp[y-1];
三、降序排序:
C++:
bool cmp(int a,int b)
{
return a>b; //降序排列,若a>b,则为降序;
}
sort(mapp, mapp+SIZE, cmp);
Java:
Arrays.sort(mapp, Collections.reverseOrder());
Java中的cmp:
//import java.util.Arrays;
//import java.util.Comparator;
import java.util.*;
class node //c++中的结构体
{
int x,y;
}
class cmpp implements Comparator<node> //把变量转换成Object的node类型
{
//因为上面指定了类型<node>,所以此处可以直接(node A,node B)
//否则要写成(Object A,Object B),再强制转换成node类型:((node)A).x
public int compare(node A, node B) //cmp
{
if(A.x-B.x!=0)
return A.x-B.x;
else
return A.y-B.y;
}
}
class sort
{
public static void main(String[] args)
{
Scanner in=new Scanner (System.in);
int n,i;
n=in.nextInt();
he d[]=new node[10];
for(i=0; i<n; i++)
{
d[i]=new node();
d[i].x=in.nextInt();
d[i].y=in.nextInt();
}
Arrays.sort(d,0,n,new cmpp());//排n个数,Arrays.sort(d,new cmpp())则默认排全部
for (i = 0; i < n; i++)
{
System.out.println(d[i].x + " " + d[i].y);
}
}
}
四、开根号
Math.sqrt(sum);
sum就是你要开根号的值
五、方
Math.pow(x,y)//的作用就是计算x的y次方,其计算后是浮点数,
int ii = (int)Math.pow(i, 3)//i的三次方
六、字符串长度:
C++:
char s1[80], s2[80];
scanf("%s",&s1);
scanf("%s",&s2);
int len1 = strlen(s1);
int len2 = strlen(s2);
Java:
String s1, s2;
s1 = cin.nextLine();
s2 = cin.nextLine();
int len1 = s1.length();
int len2 = s2.length();
七、关于 toCharArray(); 的用法:
for(int i=0;i<n;i++)
{
ch[i]=cin.next().toCharArray(); //直接输入二维数组;
}
toCharArray();的用法:将字符串对象中的字符转换为一个字符数组:
String myString = "abcd";
char myChar[] = myString.toCharArray();
System.out.println("myChar[1]="+myyChar[1]);
输出结果:
myChar[1] = b;
八、String输入一串字符(其中有空格相隔),输出第几个字符串:
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner cin=new Scanner (System.in);
String s;
s=cin.nextLine();
System.out.println(s.split(" ")[0]);
System.out.println(s.split(" ")[1]);
System.out.println(s.split(" ")[2]);
}
}
结果: