java 调用类的构造函数
注:本文非标准教程,仅是总结个人学习过程,可能存在纰漏,如有错误之处欢迎留言告知,非常感谢
题目:
一、·定义图书类Book,包含属性(全部私有):
书名,作者,出版社,价格,ISBN,
构造函数1:通过参数传递书名给书名属性赋值;
构造函数2:通过参数传递书名、作者给相关属性赋值;
构造函数3:通过参数传递书名、作者、出版社给相关属性赋值;
构造函数4:通过参数传递书名、作者、出版社、价格给相关属性赋值;
构造函数5:通过参数传递书名、作者、出版社、价格、ISBN给相关属性赋值;
方法:
给所有属性添加get方法(返回属性值)和set方法(设置属性值)。
二、定义类BookManage,包括
属性:Book类数组;
构造函数:参数表示属性数组的长度,给属性数组分配内存空间,为数组中的每一个元素创建一个Book类对象(对象各个属性的值可以从键盘输入,也可以自己任意定义)。
方法:
search,参数表示书名,从属性数组中查询某本书是否存在,存在返回1,不存储返回0;
search,参数表示要查询书价格的下限和上限,从属性数组中查询价格位于某个价格区间的书籍,将满足条件的书的书名输出。
search,参数表示书名和作者,从属性数组中查询是否存在满足条件的书,如果有,输出该书的所有信息,并返回1,否则输出“没有满足条件的书”,并返回0.
后面有总结,在代码里有有注释。。。
import java.util.*;
public class Book {private String name;private String author;private String publicing;private String price;private String ID;Book(){}Book(String name){this.name=name;}Book(String name,String author){this.name=name;this.author=author;}Book(String name,String author,String publicing){this.name=name;this.author=author;this.publicing=publicing;}Book(String name,String author,String publicing,String price){this.name=name;this.author=author;this.publicing=publicing;this.price=price;}Book(String name,String author,String publicing,String price,String ID){this.name=name;this.author=author;this.publicing=publicing;this.price=price;this.ID=ID;}public void setname(String aaa) {this.name=aaa;}public String getname() {return name;}public void setauthor(String aaa) {this.author=aaa;}public String getauthor() {return author;}public void setpublicing(String aaa) {this.publicing=aaa;}public String getpublicing() {return publicing;}public void setprice(String aaa) {this.price=aaa;}public String getprice() {return price;}public void setID() {ID="0000FFF";}public String getID() {return ID;}}
import java.util.*;
public class bookManage {Book[] books; //创建一个book类的数组对象bookManage(int count){Scanner scan=new Scanner(System.in);books=new Book[count];for(int i=0;i<count;i++) {String n=scan.nextLine(); //名字String a=scan.nextLine(); // 作者String pu=scan.nextLine(); //出版社 String pri=scan.nextLine(); //价格books[i]=new Book(n,a,pu,pri);String name=books[i].getname(); String author=books[i].getauthor(); String publicing=books[i].getpublicing(); String price=books[i].getprice();}}void search1(String aa,int count) //查询某本书是否存在{for(int i=0;i<count;i++) {if(aa.equals(books[i].getname())) {System.out.println("YES,have this book!");}}}void search2(int bb,int pp,int count) //查询书价格的下限和上限{ int hhh;for(int i=0;i<count;i++) {hhh=Integer.valueOf(books[i].getprice()).intValue();if(hhh>bb &&hhh<pp) {System.out.println("书名为:"+books[i].getname()); }}}void search3(String dd,int count) //查询作者{ for(int i=0;i<count;i++) {if(dd.equals(books[i].getauthor())) {System.out.println("书名为:"+books[i].getname());}} }public static void main(String[] args) {// TODO Auto-generated method stubScanner qqq=new Scanner(System.in);System.out.println("输入i本书本:"); int i=qqq.nextInt();System.out.println("输入书本信息:按书名,作者,出版社,价格输入:"); bookManage cc=new bookManage(i);System.out.println("输入要查找的书本"); Scanner qq=new Scanner(System.in);String aab=qq.nextLine();cc.search1(aab,i);System.out.println("输入要查找的价格下线和上界:"); int bb=qqq.nextInt(); int pp=qqq.nextInt(); cc.search2(bb, pp,i);System.out.println("输入要查找的作者的名字:");Scanner qqw=new Scanner(System.in); //这个地方删除就出错,不知道原因。。。。String dd=qqw.nextLine(); cc.search3(dd,i);}}//算法图解
//歪果仁
//上海出版
//40
//python入门编程
//美国人
//北京出版
//87
总结:
一 Java 中int、String的类型转换
int -> String
int i=12345;
String s="";
第一种方法:s=i+"";
第二种方法:s=String.valueOf(i);
String -> int
s=“12345”;
int i;
第一种方法:i=Integer.parseInt(s);
第二种方法:i=Integer.valueOf(s).intValue();
详细见教程:http://www.cnblogs.com/bluestorm/p/3698810.html
二 Java中的equals和==
String str1 = new String("hello");
String str2 = new String("hello");System.out.println(str1==str2);
System.out.println(str1.equals(str2));
反正String比较最好用这个.equals(),
我在比较时用==总是错。。。。。(debug de了一晚上)
详细见教程: https://www.cnblogs.com/dolphin0520/p/3592500.html
java 调用类的构造函数相关推荐
- java反射类带构造函数_java中反射类的加载和构造函数
我们先创建了一个Person类 package reflect; public class Person { public String name = "zhangsan"; pu ...
- Java调用类打印输出结果
/** *@author Prannt *调用类打印姓名和年龄 *简单方法和Getter/Setter方法 *///简单方法 public class Person {String name;int ...
- java调用类中的静态变量时类中静态代码块什么情况会执行以及类的初始化问题?
类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段. 类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Jav ...
- PHP调用类函数定义位置,OOP PHP – 如何有选择地调用类的构造函数中定义的特定方法?...
我正在学习用OOP方式编写Wordpress Multisite,因为我现在对OOP很新,我现在处于一种我似乎无法自己解决的问题. 具体来说,我正在创建一些类来使用OOP方法创建管理页面(在网络和子网 ...
- Java 创建类的四种方式
Java 创建类的四种方式 对于上学期已经学习过c++的同学,是不是对另一大编程语言产生了浓厚的兴趣,对于c++的面向对象编程,又和java的面向变量有何区别,下面我们从java四种创建对象来说起. ...
- java 调用win32 api 学习总结
java使用JInvoke调用windows API 使用jinvoke调用windowsAPI.jna使用比较麻烦,需要写c代码和参数转换,jinvoke的使用就像jdk中的包一样. 官网使用参考: ...
- [转载] Java中使用new构造数组时会不会自动调用类的默认构造函数
参考链接: Java中的默认构造函数 今天做集合练习时,发现生成类的数组时并 不会自动调用类的默认构造函数 // 开辟10个内存空间,并指定了数组的类型为Gerbil // 这个时候并不会调用构造函数 ...
- 通过JAVA的反射调用类中的公有私有方法
文章来源http://lavasoft.blog.51cto.com/62575/61002及http://blog.csdn.net/sunyujia/article/details/2501709 ...
- java 匿名类调用方法_Java匿名内部类使用与示例
首先说为什么有匿名类(产生的使命) 两个原因 1.简化代码编写 某种情况下,类只需要扩展一个方法,没必要为了一个方法单独去写一个子类,然后然后调用子类,此时需要匿名类 2.在不同的包内的类内调用类的p ...
最新文章
- 项目经理如何有效地进行项目沟通?
- 一个简单好用的Android Tab 设计与实现
- 介绍map.entry接口
- geo数据差异分析_GeoDiver:GEO数据挖掘分析利器
- 【宝,我去读书了。读的什么书,给你的情书】《数据结构(c++)邓俊晖》-绪论篇
- 【活动回顾】Edge X Kubernetes,探索云原生新边界
- PHP检查PEAR是否工作
- 枚举算法:求解不等式
- (二)Flask 学习 —— 模板
- Windows下Redis的使用
- 去掉ul标签前的小圆点
- dedecms后台上传图片附件返回302的问题
- 谈话节目APE系列:如何成为技术达人
- matlab反拉氏变换,matlab拉普拉斯变换.doc
- Es6模板字符串封装与使用
- java渗透_java 渗透模型
- 列表xcode项目下所有的lnfo.plist
- 你又知不知道,日有所思,夜有所梦。
- 第三方接入支付宝授权登录(支付宝新建应用没有公钥和私钥)问题
- 图像处理冷知识——dpi和ppi
热门文章
- matlab 图片 并行,图片尺寸批量resize的matlab并行代码
- 《吐血整理》Linux面试题Top100@面试官你好,我精通Linux!嘿嘿~
- std::tie详解
- android视图工具栏,Android studio预览视图工具栏不见了
- ConcurrentHashMap源码解析
- 南开大学计算机2019分数线,2019年南开大学录取分数线(预估)
- [Practical.Vim(2012.9)].Drew.Neil.Tip16学习摘要
- 刘慈欣,王晋康,何夕著《星际远征》
- 跨境早报| 亚马逊FBA推配送新服务!Shopee全面开放巴西站点广告功能
- 说说网页设计常用的构思方法