一.首先是在DOS环境下进行最简单的编译运行helloworld程序。
第一步是新建一个txt文件为helloworld并输入以下代码
public class helloworld{
public static void main(String[] args){
System.out.println("HelloWorld!");
}
}
这就是最简单的java程序,我们将其保存并将其后缀改为.java
接下来我们打开DOS命令快捷键是win+R键输入cmd即可
在之后我们使用CD命令进入helloworld.java所在的文件夹下,输入命令javac helloworld.java,回车,系统自动生成了一个helloworld.class
最后我们输入java helloworld,大功告成!
二.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
这是一个斐波那契数列问题,可以化为一个简单的方程式及F(n)=F(n-1)+F(n+2),我按照这个思路就很容易的写出了具体算法:
package test01;
import java.util.Scanner;
public class T01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");//获取月份
int n = sc.nextInt();
int sum = 0;
for(int i =0;i<n;i++){
sum +=fi(i);//进行累加输出结果
}
System.out.println("当前兔子的数量为:"+sum);
}
public static int fi(int n){
if(n<=2){
return 1;
}else{
return fi(n-1)+fi(n-2);//实现方法
}
}
}
三.题目:判断101-200之间有多少个素数,并输出所有素数。
素数就是1除了本身之外没有其他的约数的数,这时我们就需要用两层循环嵌套使这个数除以自己以外的任和数如果他能整除就将其舍弃不能整除就将其打印出来,代码如下:
package test01;
public class T02 {
public static void main(String[] args){
boolean i = false;
int n = 0;
int j;
for(n=101;n<200;n++){
i = false;//第一层循环进行101至200的递增
for(j=2;j<=n-1;j++){
if(n%j==0){
i=true;
break;//第二层循环使这个数字除以每个除了1和自己之外的数字
}//如果不能整除就进行输出
}
if(!i){
System.out.println(n);
}
}
}
}
四.题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
package test01;
public class T03 {
public static void main (String[] args){
int n ;
int i,j,k;
for(n=100;n<=999;n++){
i=n%10;
j=(n%100)/10;
k=n/100;
if(i*i*i+k*k*k+j*j*j==n){
System.out.println(n);
}
}
}
}
五.题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
package test01;
import java.util.Scanner;
public class T04 {
public static void main (String[] args){
System.out.println("请输入一个正整数:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.print(n+"=");
for(int k=2;k<n;k++){
if(n%k==0){//整除即为最小质因数
System.out.print(k+"*");
n=n/k;//将被整除的数作为新的N继续循环
k=2;
}
}
System.out.print(n);//输出最后一个质因数
}
}
五.题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
package test01;
import java.util.Scanner;
public class T05 {
public static void main(String[] args) {
System.out.println("请输入你的成绩:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
char i = (n>90)?'A':(n>=60)?'B':'C';//运用条件运算符进行判断
System.out.println(i);
}
}