2023-04-16 14:35:55
浏览数 (1)
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。 代码语言: javascript
复制 public class Test1 {
public static void main(String[] args) {
double n1=1;
double n2=1;
double fraction= n1/n2;
double sum=0;
for (int i = 0; i < 20 ; i ) {
double t1 = n1;
double t2 = n2;
n1 = t1 t2;
n2 = t1;
fraction = n1/n2;
sum = fraction;
}
System.out.println(sum);
}
}
编写一个应用程序,接受用户输入的一行字符串,判断该字符串是否是回文数? 代码语言: javascript
复制 public class Test2 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("请输入一串字符串:");
String a = reader.nextLine();
/* char[] arr1= new char[a.length()];
for (int i = 0; i < a.length(); i ) {
arr1[i]=a.charAt(i);
}*/
int n=0;
/** toCharArray() 方法将字符串转换为字符数组。*/
char []arr1 =a.toCharArray();
for (int i = 0; i < a.length()/2; i ) {
if(arr1[i] !=arr1[a.length()-1-i])
{
n ;
}
}
if(n==0){
System.out.println("是回文!");
}
else {
System.out.println("不是回文!");
}
}
}
要求:
(1)按照题目所给变量名称、类型和方法名称进行编程,禁 止修改;
(2)编程环境可选,Eclipse或JDK均可
① 图书馆接口(Library)
成员方法:
borrow(),借阅图书
revert(),归还图书
② 图书类(Book)
成员变量:
图书名称(name)String类型
出版社(publisher)String类型
构造方法:
通过形参初始化图书名称(name)和出版社(publisher)
普通方法:
(1)设置getter和setter方法用于获取和设置类中的name变量的值;
(2)重写Equals方法,当且仅当书名(name)和出版社(publisher)均相等时,即为同一本书。
(3)重写toString方法,返回书名(name)和出版社(publisher)的信息,样式如下:
“书名:Java程序设计,出版社:清华大学出版社”
③ 馆藏图书类(CollectionBook),继承自Book类,实现Library接口
成员变量:
图书编号(bNo)String类型
所在书库(stacks)String类型
是否借阅(isBorrow)boolean类型 图书状态为已借阅时,值为true
构造方法:
调用父类构造方法初始化书名(name)和出版社(publisher)信息,然后初始化图书编号(bNo)和线路图书书库(stacks)
普通方法:
(1)实现接口中的borrow方法
如果图书状态为已借阅,则输出“对不起,该图书已借阅”,否则,修改该图书状态为已借阅,输出“借阅成功”
(2)实现接口中的revert方法
如果图书状态是可借阅状态,输出“该图书已归还”,否则,修改图书借阅状态为未借阅,并输出“还书成功”
④ 通过main函数测试
(1)创建两个CollectionBook对象book1和book2,分别输出book1和book2,
并调用其equals方法判断两个对象是否相等
(2)通过键盘输入整数,输入0,则对book1进行借阅,输入1,则对book1进行归还操作 代码语言: javascript
复制 public class Main {
public static void main(String[] args) {
CollectionBook book1=new CollectionBook("混元功法","马家出版社","666","书库");
CollectionBook book2=new CollectionBook("混元功法","马家出版社","777","书库");
System.out.println(book1.toString());
System.out.println(book2.toString());
System.out.println(book1.equals(book2));
/** (2)通过键盘输入整数,输入0,则对book1进行借阅,
* 输入1,则对book1进行归还操作*/
Scanner reader=new Scanner(System.in);
int a=reader.nextInt();
if(a==0)
{
book1.borrow();
}
if(a==1)
{
book1.revert();
}
}
}
interface Library {
void borrow();
void revert();
}
class Book {
protected String name;
protected String publisher;
public Book(String name, String publisher) {
this.name = name;
this.publisher = publisher;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Book book = (Book) o;
return Objects.equals(name, book.name) &&
Objects.equals(publisher, book.publisher);
}
@Override
public String toString() {
return "Book{"
"书名:" name '''
", 出版社:" publisher '''
'}';
}
}
class CollectionBook extends Book implements Library {
String bNo;
String stacks;
boolean isBorrow;
public CollectionBook(String name, String publisher, String bNo, String stacks) {
super(name, publisher);
this.bNo = bNo;
this.stacks = stacks;
}
@Override
public void borrow() {
if (isBorrow){
System.out.println("对不起,该图书已借阅");
}else {
isBorrow=true;
System.out.println("借阅成功");
}
}
@Override
public void revert() {
if(!isBorrow){
System.out.println("该图书已归还");
}else {
isBorrow=false;
System.out.println("还书成功");
}
}
}