任务二:
1、 对java构造器的理解
public class Dog {
public static voidmain(String[] args) {
barking();
barking("汪汪汪");
barking(3); //3代表狗叫了3声
howling();
howling("熊");
howling("熊",7,6); // 有7只熊叫了6声
}
private static void barking() {
System.out.println("狗吠");
}
private static voidbarking(String string) {
System.out.println("狗如何叫:"+string);
}
private static void barking(int i) {
System.out.println("狗叫了几声:"+i+"声"+"\n");
}
private static void howling() {
System.out.println("咆哮");
}
private static void howling(String string) {
System.out.println("是"+string+"在咆哮");
}
private static void howling(String string, int i, int j) {
System.out.println("有"+i+"只熊咆哮了"+j+"声");
}
}
2、for与foreach
问题:写一个程序,产生25个int类型的随机数。对于每一个随机值,使用if-else语句来将其分类为大于、小于、等于紧随它产生的数。
public class RandomNumber {
public static void main(String[] args)
{
int r[] = new int[25];
for(int i=0; i<25; i++)
{
r[i] = (int)(Math.random()*100); //由于math.random()是double类型,所以需要做强制类型转换
}
for(int i=0; i<r.length-1; i++)
{
System.out.print("第"+(i+1)+"个数(");
if(r[i]>r[i+1])
{
System.out.println(r[i]+")大于"+"第"+(i)+"个数("+r[i+1]+")");
}
else if(r[i]<r[i+1])
{
System.out.println(r[i]+")小于"+"第"+(i)+"个数("+r[i+1]+")");
}
else
{
System.out.println(r[i]+")等于"+"第"+(i)+"个数("+r[i+1]+")"); }
}
}
3、设计一个实体类,内容包括学生基本信息和高数、线代、物理成绩,并有set&get方法,使私有信息可以被外界访问。
public class Student {
private String name;
private String num;
private char sex;
private double math;
private double linear;
private double physics;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
public double getMath() {
return math;
}
public void setMath(double math) {
this.math = math;
}
public double getLinear()
{
return linear;
}
public void setLinear(double linear) {
this.linear = linear;
}
public double getPhysics() {
return physics;
}
public void setPhysics(double physics) {
this.physics = physics;
}
}
set、get方法省略。IDEA快捷生成:alt+insert
4、Java访问权限修饰符:
private:将属性和方法用private封装后,被封装的属性和方法只能在本类中使用,类外不可见。
protected:保护子类。本类,同包类,子类
public:
具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。本类,同包类,子类,外包类
5、实现一个简单的计算器(不要图形界面,想一想如何能够更好的实现)
import java.util.*;
public class Calculator
{
public static void main(String[] args) {
double num1;
double num2;
int i;
int middle=0;
char sign=0;
Scanner in = new Scanner(System.in);
System.out.println("请输入表达式");
String str = in.nextLine();
char[] c = str.toCharArray();
for(i=0; i<c.length; i++)
{
if(c[i] == '+'||c[i] == '-'||c[i] == '*'||c[i] == '/')
{
middle = i;
sign = c[i];
}
}
char[] cnum1 = new char[middle];
for(i=0; i<middle; i++)
{
cnum1[i] = c[i];
}
char[] cnum2=new char[c.length-middle-1];
for(i=0; i<cnum2.length; i++)
{
cnum2[i] = c[i+middle+1];
}
if(middle == 0)
{
System.out.println("格式错误");
}
else if(sign == 0)
{
System.out.println("运算符错误") ;
}
else
{
num1=Double.valueOf(String.valueOf(cnum1));
num2=Double.valueOf(String.valueOf(cnum2));
System.out.println("结果为");
if(sign=='+')
{
System.out.println(num1+num2);
}
else if(sign=='-')
{
System.out.println(num1-num2);
}
else if(sign=='*')
{
System.out.println(num1*num2);
}
else if(sign=='/')
{
System.out.println(num1/num2);
}
}
}
}