java基础与面向对象实用小程序_第1页
java基础与面向对象实用小程序_第2页
java基础与面向对象实用小程序_第3页
java基础与面向对象实用小程序_第4页
java基础与面向对象实用小程序_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

例 3-1 对象中成员变量的灵活定义及使用 本例模拟通讯录功能,定义了 Person 类保存人员信息,能够对用户输入的姓名、 性别、电话号码进行保存,还可进行分类。Person 类的多个对象就是通讯录中的一 套套完整信息。 import java.util.Scanner; class Person String name; char sex; String phoneNumber; String category = “同学“,“同事“,“朋友“,“家人“; int i; void setInfo() int n; Scanner reader = new Scanner(System.in); System.out.print(“姓名:“); name = reader.next(); System.out.print(“性别:“); sex = reader.next().charAt(0); System.out.print(“电话号码:“); phoneNumber = reader.next(); do System.out.print(“选择分类:1.同学 2 同事 3 朋友 4 家人 请选择:“); i = reader.nextInt()-1; while(i3); void showInfo() System.out.println(name+“t“+sex+“t“+phoneNumber+“t“+categoryi); public class PersonTest public static void main(String args) Person p = new Person3; for(int i=0;ib?a:b; /将 a和 b之间的较大值存给 temp System.out.println(a+“与“+b+“间的较大值是“+temp); m = d1d2?d1:d2; /将 d1和 d2间的较大值存给 m m = md3?m:d3; /m与 d3比较出最大值,仍保存至 m System.out.println(d1+“,“+d2+“,“+d3+“间的最大值是“+m); 例 3- 8 字符数组元素初始值及循环赋值 public class InitSample public static void main(String args) char letters = new char26; System.out.println(“赋值前“); for(int i=0; i=0; i-) System.out.println(argsi); 例 3-10 定义整型数组初始化赋若干个整数。输出数组长度及各元素值。 public class InitSample2 public static void main(String args) int arr = 45,12,23,9,5,78,4,51,2,6,85,78; System.out.println(“数组 s的长度为:“ + arr.length); for(int i=0; imax) max = scorei; /找最高分 n = i+1; /记录最高分是第几个同学 aver = sum/10; System.out.println( “总分是:“ + sum +“平均分是:“ + aver + “最高分是第“ + n + “个同学,成绩为“ + max); 例 3-12 定义一个字符型数组,初始化赋值。提示用户输入一个整数,根据数值找到 相应位置的字符,输出该字符。如果整数不在数组个数范围内则进行相应提示。 本例中实现接收用户输入数据的相关内容详见 3.6 节。 import java.util.Scanner; /引入 java.util包中的 Scanner类 public class ArrayDemo public static void main(String args) /创建用来接收用户输入数据的 Scanner类的对象 reader Scanner reader = new Scanner(System.in); char charArray = c,h,a,r,a,c,t,e,r;/初始化数 组 System.out.print(“数组的所有元素是:“); for(int i = 0; i=1 /交换相邻元素位置 argsj = argsj+1; argsj+1 = temp; System.out.println(“按从小到大排序后数组元素为:“); for(i=0;iargs.length;i+) /循环输出排序后的所有元素 System.out.print(argsi+“ “); System.out.println(); 例 3-14 定义学生类 Student,可以存放每个学生的姓名、年龄、成绩,包含两个成 员方法:能够设置这三项属性值,能够输出这三项信息。 在主类的 main 方法中定义 Student 类的对象数组。提示用户确定学生的个数, 然后给每个学生输入三方面信息,最后集体显示在屏幕上。 本例中实现读入用户输入数据的相关内容介绍详见 3.6 节。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class StudentDemo public static void main(String args) /创建用来接收用户输入数据的 Scanner类的对象 reader Scanner reader = new Scanner(System.in); Student stu; /声明 Student类类型数组 stu int n; /学生个数 System.out.println(“您要输入多少同学的信息?“); n = reader.nextInt(); /接收用户输入的整数存至变量 n if(n=0) /个数合法性判断 System.out.println(“个数错误!“); else stu = new Studentn; /创建 stu数组,包含 n个元素 /循环创建每个数组元素对象,设置各对象的全部信息 for(int i=0;in;i+) stui=new Student(); /给每个数组元素创建对象 System.out.println(“请输入第“+(i+1)+“个同学的姓名“); String name = reader.next(); /读入字符串存至姓名 System.out.println(“请输入第“+(i+1)+“个同学的年龄“); int age = reader.nextInt(); /读入整数存至年龄 System.out.println(“请输入第“+(i+1)+“个同学的成绩“); double score = reader.nextDouble(); /读入实数存至成绩 stui.setItem(name,age,score); for(int i=0; in;i+) /循环对每个数组元素信息进行输出 stui.printInfo(); /定义学生类 class Student String name; /姓名 int age; /年龄 double score; /成绩 void setItem(String n, int a, double s) /设置成员值 name = n; age = a; score = s; void printInfo() /输出各项信息 System.out.println(“姓名是“+name+“,年龄是“+age+“,成绩是“+score); 例 3-15 数组的引用 public class ArrayReference public static void main(String args) int a = 1,2,3,4,5; /初始化整型数组 a int b; /声明整型数组 b b = a; /将数组 a的引用赋值给数组 b,即 b也引用同样数组空 间 System.out.println(“数组 a的首地址是“+a); System.out.println(“数组 b的首地址是“+b); int i; System.out.print(“数组 a的元素有:“); for(i = 0;ia.length;i+) /循环输出数组 a的所有元素 System.out.print(ai+“ “); /输出一个元素后空格 System.out.println(); /所有元素输出后换行 System.out.print(“数组 b的元素有:“); for(i = 0;ia.length;i+) /循环输出数组 b的所有元素 System.out.print(bi+“ “); System.out.println(); 例 3-16 编写程序,运行时提示用户输入一个数,输出该数的绝对值。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class AbsTest public static void main(String args) /创建用来接收用户输入数据的 Scanner类的对象 reader Scanner reader = new Scanner(System.in); System.out.println(“请输入一个数“); double num = reader.nextDouble(); /接收一个双精度数据存至变量 num if(num0) /得到 num的绝对值 num = -num; System.out.println(“该数的绝对值是“+num); 例 3-17 提示用户输入一个半径值,将数据读入。再提示用户选择 1 为计算周长,选 择 2 为计算面积,根据用户所选内容进行计算,输出结果。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class CircleTest public static void main(String args) Scanner reader = new Scanner(System.in); /创建 Scanner对象 reader System.out.println(“请输入一个半径值“); /提示用户输入半径 double r = reader.nextDouble(); /接收用户输入的半径值 System.out.println(“1. 计算周长 2.计算面积“); /提示用户进行选择 System.out.print(“请选择:“); int choice = reader.nextInt(); /读入用户的选择 if(choice = 1) /根据选择进行不同计算并输出结果 System.out.println(“周长为“+2*3.14*r); else if(choice = 2) System.out.println(“面积为“+3.14*r*r); else System.out.println(“选择错误“); 例 3-18 用户输入成绩,求平均值。要求提示用户确定成绩的个数,提示用户输入每 个成绩,使用数组存放成绩,求出平均值输出结果。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class ScoreTest public static void main(String args) Scanner reader = new Scanner(System.in); double score; /声明存放成绩的数组 score int n; /整型变量 n用来保存学生个数 System.out.println(“您要输入多少同学的成绩?“); n = reader.nextInt(); if(n=0) System.out.println(“个数错误!“); else score = new doublen; /创建 score数组,包含 n个元素 double sum = 0; /循环提示用户输入每个同学的成绩,并随时累加总成绩 for(int i = 0; in; i+) System.out.print(“请输入第“+(i+1)+“个同学的成绩:“); scorei = reader.nextDouble(); sum += scorei; System.out.println(“平均成绩是:“+sum/n); 例 3- 19 定义学生类 Student,可以存放每个学生的姓名、年龄、成绩,包含两个 成员方法:能够设置这三项属性值,能够输出这三项信息。 在主类的 main 方法中定义 Student 类的对象数组。提示用户确定学生的个数, 然后给每个学生输入三方面信息,最后集体显示在屏幕上。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class StudentArrTest public static void main(String args) Scanner reader = new Scanner(System.in); Student stu; /声明 Student类数组 stu int n; /整型变量 n用来保存学生个数 System.out.println(“您要输入多少同学的信息?“); n = reader.nextInt(); if(n=0) System.out.println(“个数错误!“); else stu = new Studentn; /创建 stu数组,包含 n个元素 for(int i=0;in;i+) /循环对每个元素进行操作 stui=new Student(); /创建当前数组元素引用的 Student对 象 System.out.println(“请输入第“+(i+1)+“个同学的姓名“); String name = reader.next(); System.out.println(“请输入第“+(i+1)+“个同学的年龄“); int age = reader.nextInt(); System.out.println(“请输入第“+(i+1)+“个同学的成绩“); double score = reader.nextDouble(); stui.setItem(name,age,score); for(int i=0; in;i+) /循环输出每个元素的各项信息 stui.printInfo(); class Student /定义 Student类 String name; /姓名 int age; /年龄 double score; /成绩 void setItem(String n, int a, double s) /设置成员值 name = n; age = a; score = s; void printInfo() /输出全部信息 System.out.println(“姓名是“+name+“,年龄是“+age+“,成绩是“+score); 例 3-20 类成员变量的默认初值 public class RectTest public static void main(String args) Rectangle rect1 = new Rectangle(); /创建 Rectangle类对象 rect1 /直接使用 rect1成员的默认值计算面积,输出结果 System.out.println(“rect1的面积是“+rect1.getArea(); Rectangle rect2 = new Rectangle(); /创建 Rectangle类对象 rect2 rect2.setItem(20,30); /设置 rect2的长和宽为 20,30 /rect2的面积计算使用设置后的新值,得到结果并输出 System.out.println(“rect2的面积是“+rect2.getArea(); class Rectangle /定义 Rectangle矩形类 int width = 10; /设置成员变量 width的默认初值为 10 int height = 20; /设置成员变量 height的默认初值为 20 void setItem(int w,int h) /设置成员值的方法 width = w; height = h; int getArea() /计算面积并得到结果的方法 return width*height; 例 3-21 数组作成员变量的应用 定义学生类 Student,可以存放每个学生的姓名、年龄、课程数目、成绩,其中 成绩定义为数组类型,可存放多门课程的成绩。该类还包含两个成员方法:能够设置 各属性值,能够输出所有信息。 在使用该类的成绩数组成员时,要根据用户的输入确定成绩个数,实现相应的功 能。 定义一个公共类,在 main 方法中使用 Student 类创建对象 stu,提示用户确定 课程数目,给 stu 的各成员变量赋值,调用 stu 的方法观察运行结果。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class Student /定义学生类 Student String name; /姓名 int age; /年龄 int number; /课程数目 double score; /成绩数组 void setItem(String n, int a, int num, double s) /设置成员值 name = n; age = a; number = num; score = new doublenumber; /根据课程数目创建成绩数组 for(int i=0;inumber;i+) /循环给每个成绩元素赋值 scorei = si; void printInfo() /输出各项信息 System.out.println(“姓名是“+name+“年龄是“+age); for(int i=0;inumber;i+) System.out.println(“第“+(i+1)+“门课的成绩是“+scorei); public class StudentTest1 public static void main(String args) Student stu = new Student(); /创建 Student类对象 stu Scanner reader = new Scanner(System.in); System.out.println(“请输入姓名“); String n = reader.next(); System.out.println(“请输入年龄“); int a = reader.nextInt(); System.out.println(“请输入课程数目“); int num = reader.nextInt(); double s = new doublenum; /根据课程数目创建数组 s for(int i=0;inum;i+) /循环接收输入的成绩至 s数组各元 素 System.out.println(“请输入第“+(i+1)+“门课的成绩“); si = reader.nextDouble(); stu.setItem(n,a,num,s); /调用方法传递数据,给成员设置数 据 stu.printInfo(); /输出各项信息 例 3-22 改写上题,在主类的 main 方法中定义 Student 类的对象数组。提示用户 确定学生的个数,然后给每个学生输入各方面信息,最后集体显示在屏幕上。 import java.util.Scanner; /引入 java.util包里的 Scanner类 class Student /Student类定义同上例 String name; int age; int number; double score; void setItem(String n, int a, int num,double s) name =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论