讲述C语言和JAVA的区别
例如:
1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。
注意:如果全部方案不到n种,就顺序输出全部可能的方案。
C语言
#include<stdio.h>
int main(void)
{
int i=0,j,k,p;
int n;
scanf("%d",&n);
for(j=1;j<30;j++){
for(k=1;k<75;k++){
for(p=1;p<150;p++){
while(5*j+2*k+p==150&&j+k+p==100)
{ while(i<n){
printf("%d %d %d\n",j,k,p);
break;
}i++;
break;
}
}
}
}
}
JAVA
package com.lzw.test;//包路径
import java.util.Scanner;//导入
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int i=0,j,k,p;
for(j=1;j<30;j++){
for(k=1;k<75;k++){
for(p=1;p<150;p++){
while(5*j+2*k+p==150&&j+k+p==100)
{ while(i<n){
System.out.printf("%d %d %d\n",j,k,p);
break;
}i++;
break;
}
}
}
}
sc.close();
}
}
通过这两个程序的对比,我们能看出来他们有明显的差异
- 头部:
public static void main(String[] args)
这是java程序的入口地址,java虚拟机运行程序的时候首先找的就是main方法.跟C语言里面的main()函数的作用是一样的.
只有有main()方法的java程序才能够被java虚拟机欲行,可理解为规定的格式
对于里面的参数及修饰符public:表示的这个程序的访问权限,表示的是任何的场合可以被引用,这样java虚拟机就可以找到main()方法,从而来运行javac程序
static:表明方法是静态的,不依赖类的对象的,是属于类的,在类加载的时候main()方法也随着加载到内存中去
void:main()方法是不需要返回值的
main:约定俗成,规定的
String[] args:从控制台接收参数
链接来源v_solution的博客
- Scanner sc = new Scanner(system.in);
使用该类创建一个对象
然后sc对象调用下列方法(函数),读取用户在命令行输入的各种数据类型: nextLine(输入字符串),nextDouble(),nextFloat,nextInt(),nextLong(),nextShrot() 等等
- 输出
System.out.println();他会将括号内的内容转换成字符串输出到控制台,并且换行
System.out.print();也是将括号内的内容转换成字符串输出,但并不换行
System.out.printf(); 格式化输出 - sc.close
关闭输出流(防止占内存)