提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
俩到经典题目
一、俩种排序方法:
题目描述
解题分析![在这里插入图片描述](https://img-blog.csdnimg.cn/fba0123d4c5b492d8dbe3d65e0dd0d59.png)
1.scanner.next()和scanner.nextLine()区别
前者按照空格来进行分割,nextline读取下一行,hasnext,hasnextline都是和具体的读取方法有关系,用next()是这样
nextline是这样
2.string compareto方法是按照字典序进行字符串排序>返回正数,=返回0,<返回负数
代码演示
import java.util.Scanner;
public class Main {
//俩种排序方法
public static boolean is_zidianxu(String[]str) {
if (str == null || str.length == 0)return true;
for (int i = 0; i < str.length - 1 ; i++) {
if (str[i].compareTo(str[i + 1]) > 0) {
return false;
}
}
return true;
}
public static boolean is_length(String[]str) {
if (str == null || str.length == 0)return true;
for (int i = 0; i < str.length - 1 ; i++) {
if (str[i].length() > str[i + 1].length()) {
return false;
}
}
return true;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
String str[] = new String[n];
for (int i = 0; i < n; i++) {
str[i] = scanner.next();
}
if (is_zidianxu(str) && is_length(str)) {
System.out.println("both");
} else if (is_zidianxu(str)) {
System.out.println("lexicographically");
} else if (is_length(str)) {
System.out.println("lengths");
} else {
System.out.println("none");
}
}
}
}
求最小公倍数
题目描述
解题分析
如何求俩个数的最小公倍数:
1.求出最大公约数 ,公式a*b/(a,b)得出最小公倍数
2.如何求出(a,b)
辗转相除法:
r=m%n
m=n
n=r
当r为0时得出,m为最大公约数
(m,n)=(10,6)=(4,6)=(4,2)=(2,0),2为最大公约数![
代码演示
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt();
int n = scanner.nextInt();
int tmp = m * n;
//求出最大公约数
int r = m % n;
while (r != 0) {
r = m % n;
m = n;
n = r;
}
int big = m; //最大公约数
int small = tmp / m; //最小公倍数
System.out.println(small);
}
}
总结
最小公倍数a*b/(a,b)
辗转相处法
scanner.next(),scanner.nextline用法