boolean hasNext()
检测输入中是否还有其他单词
import java.util.*;
public class String1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(!in.hasNext("0"))
{
System.out.println(in.next());
}
}
}
输入
1
sd
0
运行结果
boolean hasNextInt()
判断是否为数字
import java.util.*;
public class String1 {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
System.out.print("请输入一个整数:");
int n;
if (in.hasNextInt()) {
n = in.nextInt();
System.out.println("输出:" + n);
} else {
System.out.println("输入有问题");
}
}
}
输入
1
运行结果
输入
sd
运行结果
同理:boolean hasNextDouble()
Arrays.toString(a)
打印数组中所有值,返回包含数组元素的字符串,这些元素包围在中括号内,并用括号分隔。
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[] a = { 2, 3, 7, 5, 13, 11, };
System.out.println("排序前的数组为:");
System.out.println(Arrays.toString(a));// 调用Arrays.toString将数组a的值转换为字符串并 显示出来
// 调用Array.sort方法,对数组进行排序
Arrays.sort(a);
System.out.println("排序后的数组为:");
// System.out.println(a+"...");若为此种写法,输出结果将出现乱码
System.out.println(Arrays.toString(a));// 调用Arrays.toString将数组a的值转换为字符串并 显示出来
}
}
输入
无
运行结果
Arrays.copyOf(a, a.length)
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
int[]a=new int[5];
int []b=Arrays.copyOf(a, a.length);
System.out.println(Arrays.toString(b));
b=Arrays.copyOf(a, 2*a.length);
System.out.println(Arrays.toString(b));
}
}
运行结果
每日一题
来源:力扣——387. 字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例
s = “leetcode”
返回 0.
s = “loveleetcode”,
返回 2.
class Solution {
public int firstUniqChar(String s) {
int[]a=new int[26];//存储各字符出现次数
char[]c=s.toCharArray();//将字符串转换为字符数组
for(int i=0;i<c.length;i++)//统计字符出现次数
{
a[c[i]-'a']++;
}
for(int i=0;i<c.length;i++)//寻找下标
{
if(a[c[i]-'a']==1)
{
return i;
}
}
return -1;//无解
}
}
现在只会最简单的方法…
学会了String.toCharArray 方法;
通过c[i]-'a’来表示a~z字母顺序