作业1
求第n项的斐波那契数列值
import java.util.*;
class Test01
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入n:");
int n=sc.nextInt();
System.out.print(Fibo(n));
}
public static int Fibo(int n){
if(n==1||n==2){
return 1;
}
return Fibo(n-1)+Fibo(n-2);
}
}
运行结果
作业2
小明的妈妈看到小明今天高考结束,买了一对刚刚出生的小兔子,小兔子需要3个月长大成兔,
之后每月生产一对小兔子,假如不考虑小兔子的死亡情况,求第n月共有多少对兔子?
示例:
1 1
2 1
3 1
4 2
5 3
6 4
7 6
8 9
9 13
import java.util.*;
class Test01
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.print("请输入n:");
int n=sc.nextInt();
System.out.print(Fibo1(n));
}
public static int Fibo1(int n){
if(n<=3){
return 1;
}
return Fibo1(n-1)+Fibo1(n-3);
}
}
运行结果
作业3
根据完整的路径从路径中分离文件路径、文件名及扩展名
传递一个路径 c://a//b//c.avi,返回该文件的后缀名
import java.util.*;
class Test
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
String word="c://a//b//c.avi";
word.trim();
String[] arr =word.split("//");
System.out.print(arr[arr.length-1]);
}
}
运行结果
作业4
输入一个字符串,判断该字符串是否是回文字符串(面试题)
例如:123454321
package day06;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个字符串:");
String x=sc.nextLine();
if(isHuiwen(x)) {
System.out.println("是回文");
}else {
System.out.println("不是回文");
}
}
private static boolean isHuiwen(String x) {
for(int i=0;i<x.length();i++) {
int j=x.length()-i-1;
if(x.charAt(i)==x.charAt(j)) {
continue;
}else {
return false;
}
}
return true;
}
}
运行结果
作业5
去掉字符串中的所有空格
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入字符串:");
String s=sc.nextLine();
System.out.println(s.replaceAll(" ",""));
}
}
运行结果
作业6
将字母全部转换为大写或小写
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入字符串:");
String s=sc.nextLine();
System.out.println("小写:"+s.toLowerCase());
System.out.println("大写:"+s.toUpperCase());
}
}
运行结果
作业7
接收用户输入的一句英文,将其中的单词以反序输出。
“hello c sharp”→“sharp c hello”
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入字符串:");
String s=sc.nextLine();
String[] arr=s.split(" ");
for(int i=arr.length-1;i>=0;i--) {
System.out.print(arr[i]+" ");
}
}
}
运行结果
作业8
从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入字符串:");
String[] arr=s.split("\\?");
System.out.println("域名:"+arr[0]);
System.out.println("用户名:"+arr[1].split("=")[1].split("&")[0]);
}
}
运行结果
作业9
让用户输入一句话,找出所有"呵"的位置。
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入字符串:");
String s=sc.nextLine();
for(int i=0;i<s.length();i++) {
if(s.charAt(i)=='呵') {
System.out.println(i);
}
}
}
}
运行结果
作业10
让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很”;**
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入字符串:");
String s=sc.nextLine();
System.out.println(s.replace("邪恶", "**"));
}
}
运行结果
作业11
上楼梯问题:某个人上楼梯,每次只能上一个台阶或者两个台阶,那么当这个人到达第n个台阶时,共有多少种走法?
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入n:");
int n=sc.nextInt();
System.out.println("一共有"+f(n)+"种走法");
}
public static int f(int n) {
if(n<0) {
return 0;
}
if(n==1||n==2) {
return 1;
}
return f(n-1)+f(n-2);
}
}
运行结果
作业12
猜字游戏,计算机随机一个0~100的整数,每次用户输出字猜,
提示如下:
- 猜大了,重新猜
- 猜小了,重新猜
- 猜对了
package day06;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个0~100之间的数字:");
int n=sc.nextInt();
int r=(int)(Math.random()*100);
System.out.println(r);
while(true) {
if(n>r) {
System.out.println("猜大了,重新猜");
n=sc.nextInt();
}else if(n<r) {
System.out.println("猜小了,重新猜");
n=sc.nextInt();
}else {
System.out.println("猜对了");
break;
}
}
}
}
运行结果
作业13
**
猜拳游戏,石头剪刀布。
随机数生成石头剪刀布(0:石头 1:剪刀 2:布)
**
package day06;
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(true) {
int r=(int)(Math.random()*3);
System.out.print("请输入你的选择(0:石头 1:剪刀 2:布):");
int x=sc.nextInt();
if((r==0&&x==1)||(r==1&&x==2)||(r==2&&x==0)) {
System.out.println("你输了");
}else {
System.out.println("你赢了");
}
}
}
}
运行结果