*~题目:收件人列表
NowCoder每天要给许多客户写电子邮件。正如你所知,如果一封邮件中包含多个收件人,收件人姓名之间会用一个逗号和空格隔开;如果收件人姓名也包含空格或逗号,则姓名需要用双引号包含。
现在给你一组收件人姓名,请你帮他生成相应的收件人列表。
输入描述: 输入包含多组数据。 每组数据的第一行是一个整数n (1≤n≤128),表示后面有n个姓名。紧接着n行,每一行包含一个收件人的姓名。姓名长度不超过16个字符。
输出描述: 对应每一组输入,输出一行收件人列表。
【解题思路】:
1.先接收到一个数字,代表接下来是多少组数据
2.逐个接收每个名字,如果名字中没有’,‘或者’ '则直接输出,否则在改名字前后拼接"\" "
再输出
3.除过最后一个名字外,每个名字之后都有一个", "
4.该组用例处理完成后换行
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
//接受第一行,注意:需要将换行之后的回车接受掉
int n=scan.nextInt();
scan.nextLine();//将数字所在行之后的内容接受完
for(int i=0;i<n;i++){
//当拿到一个名字的时候,该名字中包含空格或者逗号,拼接""输出,否则直接输出
String name=scan.nextLine();
if(name.contains(" ")||name.contains(",")){
System.out.print("\""+ name +"\"");
}else{
System.out.print(name);
}
//名字和名字之间使用", "隔开,最后一个名字之后没有
if(i!=n-1){
System.out.print(", ");
}
}
System.out.println();
}
}
}
*~题目:养兔子
题目描述:
一只成熟的兔子每天能产下一胎兔子。每只小兔子的成熟期是一天。 某人领养了一只小兔子,请问第N天以后,他将会得到多少只兔子。
输入描述: 测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输出描述: 对应输出第n天有几只兔子(假设没有兔子死亡现象)。
import java.util.*;
public class Main{
public static void main(String[] args){
long[] fib=new long[91];
fib[0]=1;
fib[1]=1;
for(int i=2;i<=90;i++){
fib[i]=fib[i-1]+fib[i-2];
}
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
int n=scan.nextInt();
System.out.println(fib[n]);
}
}
}