出现空指针异常-----对象的地址为null的时候,表示的空指针异常。ACD

接口中存储了Object的相关信息和资源,操作越来越像类的操作:
给定字符串,输出每个字符出现的次数一
private static void test04() {
//统计字符出现的次数:
//曲线救国,标志位的状态
//
String str="asdjasd8341sdf";
//提供标志位,进行分类的的状态
boolean[] bb = new boolean[str.length()];
//给数组元素进行初始化
//ture代表的是未统计的 false 代表已经统计
for (int i = 0; i < bb.length; i++) {
bb[i]=true;
}
//遍历字符串
for (int i = 0; i <str.length(); i++) {
//判断每个字符的状态
if (bb[i]){
//如果进了判断说明未统计
char c = str.charAt(i);
int count=1;
//遍历后续字符元素
for (int j = i+1; j <str.length() ; j++) {
if (str.charAt(j)==c){
//改变后续元素的状态,进行后续遍历后的元素进行叠加,每重新一个进入
//进入判断就进行累加的次数
bb[j]=false;
//计数
count++;
}
}
System.out.println(c+"字符出现的次数:"+count);
}
}
}
给定字符串,输出每个字符出现的次数二
private static void test4() {
//4.给定字符串,输出每个字符出现的次数(晚自习)
//给定固定的字符串
String str="adabasfka87329489";
int[] arr = new int[256];
for (int i = 0; i <str.length() ; i++) {
char c = str.charAt(i);
arr[c]++; //arr[97]++;
}
for (int i = 0; i < arr.length; i++) {
if (arr[i]!=0){
System.out.println((char)i+"出现次数:"+arr[i]);
}
}
//获取字符串第一个字符,获取的是第一个字符的所有下标
private static void test004() {
String str="asdagklsgja8023";
//获取字符串第一个字符,获取的是第一个字符的所有下标
char c = str.toCharArray()[0];
//提供下标
int index=0;
while(index!=str.length()){
//返回第一次出现的下标值
index = str.indexOf(c, index);
//判断下标是-1
if (index!=-1){
System.out.println(c+"出现的位置:"+index++);
}else {
break;
}
}
}
6.给定字符串String str=“订外卖";,转成字节数组根据字节数组的部分内容转成新的字符串对
private static void test06() {
String str="定外卖";
byte[] bs = str.getBytes();
//给字节数
int n=7;
//将字节数组部分内容转成字符创对象
String s = new String(bs, 0, n);
//代表的是最后一个字符是否相等于原先字符的最后一个字符
if (s.charAt(s.length()-1)!=str.charAt(s.length()-1)){
//进了判断说明出现?
char[] chars = s.toCharArray();
//新字符串转换成字符数组
new String(chars,0,s.length()-1);
}
System.out.println(s);
}
.给定字符串,对字符串中的数字进行求和
private static void test2() {
//2.给定字符串,对字符串中的数字进行求和
//定义给定的字符串
String str="324jksdfha";
int sum=0;
//遍历字符串中的字符
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
//进行数字的提取
if (c<='9'&&c>='0'){
//判定数字,如果是数字就进行累计
sum+=(c-'0');
}
}
System.out.println("总数:"+sum);
}
1.给定字符串,返回字符串中小写英文字母、数字以及其他字符出现的个数
private static void test1() {
// 1.给定字符串,返回字符串中小写英文字母、数字以及其他字符出现的个数
//1.给定字符串str
String str="asdjaksfa72491401==1=;/.,";
int x=0;
int y=0;
int z=0;
//2.字符串转换成字节数组
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
//2.1进行判断英文字母和数字,以及其他字符个数
//2.2 统计变量进行每个字符的统计
if(c<='z'&&c>='a'){
//小写字母的容纳
x++;
}
if (c<='9'&&c>='0'){
//数字的个数容纳
y++;
}
}
//3.打印输出
System.out.println("英文字母:"+x+"\t"+"数字:"+y+"\t"+"其他字符:"+((str.length()-x)-y)+"\t");
}
3.给定字符串,对(获取)字符串中数字进行排序
private static void test3() {
//3.给定字符串,对(获取)字符串中数字进行排序
//给定字符串
String str="q89rudfa90923rsac674nsa";
char[] cs = new char[str.length()];
int count=0;
//进行字符串的遍历---查找里面的数字
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c<='9'&&c>='0'){
//将里面的数字放置新的容器,注意二者的下标的值是不一样的,注意区分下标的值
cs[count++]=c;
}
}
//进行容器的缩容---排序---数组的长度就是str.length()--但是真正的数据的长度数count
cs=Arrays.copyOf(cs,count);//--进行数组的重定向
Arrays.sort(cs);
//打印数组
System.out.println(Arrays.toString(cs));
}
5.给定字符串数组,根据冒泡来进行排序(compareTo 晚自习)
String[] ss={“abc”,“def”,“ab”,“asf”,“bas”,“acb”};
private static void test5() {
//5.给定字符串数组,根据冒泡来进行排序(compareTo 晚自习)
String[] str={"sda","sdf","gsq","qwye","gsdjg"};
//进行遍历对于数组
for (int i = 0; i < str.length; i++) {
for (int j = i+1; j <str.length-i-1; j++) {
//比较大小----交换元素---冒泡
if (str[i].compareTo(str[j])>0){//正数,表示前面大于后面
//进行交换
String temp=str[i];
str[i]=str[j];
str[j]=temp;
}
}
}
//进行排序输出
System.out.println(Arrays.toString(str));
}
这篇博客探讨了字符串处理中的常见问题,包括空指针异常、接口操作、字符计数、字节数组转换、数字求和及排序等。通过具体的编程题目,展示了在Java和Python中如何解决这些问题。
972

被折叠的 条评论
为什么被折叠?



