目录
一.scanner
1.循环输入一个数
在循环体条件加上sc.hasNext() 固定输入
再用一个变量接收 其他的和一般输入格式一样
用 Ctrl+d 结束循环
scanner.close();
结束的时候关闭键盘
二.随机数
固定格式,一样要引用头文件
用一个数接收,括号里的x 就表示 在[0,x)范围
如果想要在50-100范围. 可以这要表示
int n = randdom.nextInt(50)+50;
如果里面加一个参数,反而变成伪随机
猜数字游戏的实现
public static void main(String[] args){ Random randdom = new Random();//猜数字 Scanner sc=new Scanner(System.in); int n =randdom.nextInt(100); System.out.print("请输入你要拆的数字 "); int i =0; while(sc.hasNext()){ i = sc.nextInt(); if(i<n){ System.out.println("猜小了 "); }else if(i>n){ System.out.println("猜大 "); }else{ System.out.println("对,数字是"+n); break; } } }
三.平方函数
Math.sqrt();
public static void main(String[] args){
int n =1;//循环求素数
int i=2;
int count=0;
for(;n<=99;n+=2){
for(i=2;i<=Math.sqrt(n);i++){
if(n%i==0){
break;
}
}
if(i>Math.sqrt(n)){
System.out.print(n+" ");
count++;
}
}
System.out.println( count);
}
}
四.判断字符串相等函数
格式:字符串名字.equals("要判断的字符串")
五.订正作业
1.每个 Unicode码占用2个字节
2.
3.
4.
5.
六.方法的重载
我们需要用一个函数同时兼容多种参数的情况, 我们就可以使用到方法重载
方法的名字都叫 add. 但是有的 add 是计算 int 相加, 有的是 double 相加; 有的计算两个数字相加, 有的是计算三个数 字相加.
同一个方法名字, 提供不同版本的实现, 称为 方法重载
针对同一个类:
方法名相同
方法的参数不同(参数个数或者参数类型)
方法的返回值类型不影响重载.
八.指数函数
涉及到数学计算的都需要用math
格式:
Math.pow(底数,指数)返回类型是double
九.异或符号的使用
1.找一个数字出现一次在数组里
2.不需要中间数交换两个数字
十.牛客做题注意
1.注意OJ测试有可能多组输入就需要用while(scanner.hasNext())
2.如果要引用util下的文件.
直接在开头输入import.java.util.*
3.并且注意牛客中文件名必须用Main
十一.斐波那契数列
1.青蛙跳台阶问题
一个台阶青蛙一种跳发,两个台阶青蛙有两种跳法,三个台阶,就相当于两个台阶的跳法加上一个台阶的跳法
而五个台阶,四个台阶加上一个台阶的跳法,而四个台阶又相当于三个台阶加上一个台阶的跳法.这里就相当于一个斐波那契数列.
2.汉诺塔问题
构建一个打印函数,打印A->C;
构建汉诺塔函数,当n=1的时候,那就是A->C
当n>1的时候,那就是最底层上面的盘子借助第三个柱子移到第二个柱子
然后最底层的盘子从一柱移到三柱
然后再把剩下的盘子借助三柱移到一柱
那么剩下的(n-1)盘子再构建新的循环.