Java lesson08 Homework
1;1. 写一个类Param,声明四个成员变量a、b、c、d,分别赋予四种访问权限。
(1)试验在同一个包中的另一个类里能访问哪几个变量?
(2)试验在不同包中的另一个类里能访问哪几个变量?
(3)试验在不同包中、用Param派生一个子类,看子类能访问哪几个变量?
package FirstBag;
public class Param {
public int a=1;
protected int b=2;
int c=3;
private int d=4;
void test ()
{System.out.println("输出a的值"+a);
System.out.println("输出b的值"+b);
System.out.println("输出c的值"+c);
System.out.println("输出d的值"+d);
}
}
package FirstBag;
//在同一个 包中的一个类
public class Main {
public static void main(String[] args)
{Param pr=new Param();
System.out.println("输出a的值"+pr.a);
System.out.println("输出b的值"+pr.b);
System.out.println("输出c的值"+pr.c);
System.out.println("输出d的值"+pr.d);//private 不能在同一个包中不同文件中使用
}
}
package FirstBag1;
/**
* 不同包中的一个子类
* @author LENOVO
*
*/
import FirstBag.Param;
public class ParamSon extends Param {
void test ()
{System.out.println("输出a的值"+a);//在不同包中的子类中,public 可以使用
System.out.println("输出b的值"+b); //在不同包中的子类中,protected 可以使用
System.out.println("输出c的值"+c); //在不同包中的子类中,友好型不 可以使用
System.out.println("输出d的值"+d); //在不同包中的子类中,private不 可以使用
}
}
ackage FirstBag1;
import FirstBag.Param;
//在不同包中的一个类
public class Main {
public static void main(String[] args)
{Param pr1=new Param();
System.out.println("输出a的值"+pr1.a);//在不同包中一个普通类,public 可以使用
System.out.println("输出b的值"+pr1.b); //在不同包中一个普通类,protected 不可以使用
System.out.println("输出c的值"+pr1.c);// 在不同包中一个普通类,友好型 不可以使用
System.out.println("输出d的值"+pr1.d);//在不同包中一个普通类,private不 可以使用
}
}
2;2. 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8 ... 求出这个数列的前20项之和。
package FirstBag;
//类方法 求有一分数序列:2/1,3/2,5/3,8/5,13/8 ... 求出这个数列的前20项之和。
public class Add {
int i;
float sum=0;
void add ()
{int mem=2,dmin=1;
for (i=1;i<=20;i++)
{sum+=mem/dmin*1.0;
mem+=dmin;
dmin=mem;}
System.out.println("前二十项的结果是:"+sum);
}
}
package FirstBag;
//调用类方法 使用主方法得出结果
public class Main1 {
public static void main(String[] args)
{
Add ad=new Add();
ad.add();
}
}
3:3. 写一个工具类,提示用户,1为普通话,2 for English ,判断用户输入的数据,根据输入的数据做出对应的响应。用户输入1,则提示,您好,欢迎使用本系统;如果输入2,则提示,Hello, welcome to use this system。
package FirstBag2;
//类方法 进入系统时提示选则语言
public class Remind {
//提示1和2所代表的语言
void remind()
{System.out.println("如果您输入1,则为普通话,if you enter 2, for English ");
}
// 1和2 所选择的语言
void remind1(int a)
{if (a==1)
{System.out.println("您好,欢迎使用本系统");}
else if (a==2)
{System.out.println("Hello, welcome to use this system ");}
else {System.out.println("您输入的数据有错误");}
}
}
//主方法
package FirstBag2;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{Remind rm=new Remind();
rm.remind();
// 让用户输入数字
Scanner scanner=new Scanner(System.in);
System.out.println("请输入1或者2");
int s=scanner.nextInt();
rm.remind1(s);
}
}
4. 写一个工具类,打包到tools里,计算如下题目,两列火车相向而行,问:多长时间后两车相遇。用户输入已知信息:第一列车速度(千米/小时),第二列车速度(千米/小时),两车距离(千米)。在另一个类里调用该类,测试是否正确。
package tools;
/**
* 类方法
*/
import java.util.Scanner;
public class TrainMeetUseTime1 {
void enterNum()
{Scanner scanner=new Scanner(System.in );
System.out.println("请输入第一列车速度(千米/小时)");
float v1=scanner.nextFloat();
System.out.println("请输入第二列车速度(千米/小时)");
float v2=scanner.nextFloat();
System.out.println("请输入两车之间的距离(千米)");
float s=scanner.nextFloat();
float time=s/(v1+v2);
System.out.println("两辆火车相遇所用的时间是:"+time);
}
}
package tools;
//主方法
public class Main {
public static void main(String[] args )
{TrainMeetUseTime1 tmut=new TrainMeetUseTime1();
tmut.enterNum();
}
}
. 写一工具类,判断输入的字符(char)是否为数字(使用ASCII码判断)类型,在另一个类里引入该类,然后调用工具类判断。要求打包到tools里。
package tools;
import java.util.Scanner;
public class JudgeNumber {
void judgeNumber()
{Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个数据");
char s=scanner.next().charAt(0);
if (s>=47&&s<=58)
{System.out.println("您输入的是一个数字");}
else {System.out.println("您输入的不是一个数字");}
}
}
package tools;
public class Main1 {
public static void main(String[] args)
{JudgeNumber jn=new JudgeNumber();
jn.judgeNumber();
}
}
//打印杨辉三角
7;package tools;
import java.util.Scanner;
public class Main2 {
public static void main(String[] args) {
printYFTriangle();
}
public static void printYFTriangle(){
System.out.println("how many lines you want:");
Scanner in = new Scanner(System.in);
int lines = in.nextInt();
int[] a = new int[lines + 1];
int previous = 1;
for (int i = 1; i <= lines; i ++){
for (int j = 1; j <= i; j++){
int current = a[j];
a[j] = previous + current;
previous = current;
System.out.print(a[j] + " ");
}
System.out.println();
}
}
}