JAVA课本配套实例源码
JAVA实用教程(第2版)郑阿奇
语法基础篇
重点:掌握Java编程语言基础,解决一些简单小问题。
目标:利用Java解决各种经典问题。
/**
* page:3 计算圆面积
* */
public class Area1_1 {
static final double pi = 3.1415; // 双精度浮点型 pi 成员变量 静态(类变量)
public static void main(String[] args) {
// TODO Auto-generated method stub
double r,area; //定义 半径r,面积area
r=3; //半径赋值 3
area = pi*r*r; //面积计算
System.out.print("圆的面积:"+area);
}
}
import java.util.Scanner;
/**
* page 22 判断是否闰年
* 算法核心:该年能被4整除并且不能被100整除,或者是可以被400整除
* year%4==0&&year%100!=0||year%400==0
* */
public class LeapYear2_4 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int year;//局部变量作用域,不能在循环内
do{
System.out.print("请输入年份:");
year = in.nextInt();
if(year%4==0&&year%100!=0||year%400==0) {
System.out.println(year+"年是闰年");
}else {
System.out.println(year+"年不是闰年");
}
System.out.print("输0继续:");
year= in.nextInt();
}while(year==0);
}
}
/**
* page 28 水仙花数
* 是一个3位数,其各自数字的立方等于该数自身。变量:i,j,k,n,p;
* 思路:利用整除取余 获得各位值 带入运算 对比结果。
**/
public class TeatNum2_7 {
public static void main(String[] args){
int i=0,j=0,k=0,n=0,p=0;
for(int m =100;m<1000;++m) { //所有
i=m/100; //百
n=m%100; //两位数
j=n/10; //十
k=n%10; //各
p=i*i*i+j*j*j+k*k*k;
if(m==p) {
System.out.println(m);
}
}
}
}
/**
* page 30 打印素数
* 算法思路:利用isPrime方法判断是否素数,printPrime方法输出指定范围的素数
* 主函数调用
* 素数:除了1和他本身不能被整除的数; 循环范围i=2;i<n/2;i++判断条件if(n%i==0)
* */
public class PrimeNumber2_9 { //编译单元与文件名一致
boolean isPrime(int n) { //判断方法
boolean is=true;
for(int i=2;i<n/2;i++) {
if(n%i==0) {
is=false;
}
}
return is;
}
void printPrime(int m) { //打印方法
int j=0; //换行控制变量
for(int i=2;i<=m;++i) {
if(isPrime(i)) {
j++;
System.out.print(i+" ");
if(j%10==0) {
System.out.println();
}
}
}
}
public static void main(String[] args) {
PrimeNumber2_9 pn = new PrimeNumber2_9(); //新建了一个对象
pn.printPrime(100); //调用pn对象的方法
}
}
/**
* page 32
* 用递归实现Fibonacci数列
* 指的是这样一个数列:1、1、2、3、5、8、13、21、34、……
* 在数学上,斐波纳契数列以如下被以递归的方法定义:
* F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)
* 代码巧妙
* */
public class Fibonacci2_11 {
public static int f(int n) {
if(n==1||n==2) {
return 1;
}else {
return f(n-1)+f(n-2);
}
}
public static void main(String[] args) {
System.out.println(f(20));
}
}