char c=s.charAt (i);这里写错了,你是循环n,不是i,所以这里修改为char c=s.charAt (n);
代码修改如下:
public static String countLetters(String s) {
String letters = "";
for(int n = 0;n<s.length();n++) {
char c = s.charAt(n);
if((c>='a' && c<='z') || (c>='A' && c<='Z')) {
letters+=c;
}
}
return letters;
}
public static void main(String[] args) {
Scanner h = new Scanner(System.in);
System.out.println("请输入字符串");
String s = h.nextLine();
String letter = countLetters(s);
System.out.println("字母有"+letter);
System.out.println("字母的个数有:"+letter.length());
}
问题可能是因为在统计字母时只考虑了大小写字母,而没有考虑数字后面的字母。可以在统计字母时,判断当前字符是否为字母,如果是,则统计,如果不是,则判断前一个字符是否为数字,如果是,则将数字和字母一起统计。
以下是一个示例代码:
import java.util.Scanner;
public class CountLetters {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String input = scanner.nextLine();
int count = 0;
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
count++;
} else if (i > 0 && Character.isDigit(input.charAt(i - 1))) {
count++;
}
}
System.out.println("包含字母的数量为:" + count);
}
}
在上面的代码中,使用了Character.isLetter()
方法判断当前字符是否为字母,使用Character.isDigit()
方法判断前一个字符是否为数字。如果前一个字符为数字且当前字符为字母,则将数字和字母一起统计。
== [Vue warn]: Error in v-on handler (Promise/async): “Error: 失败”
found in==
—> at packages/button/src/button.vue
at packages/dialog/src/component.vue
at src/views/product/tradeMark/index.vue
at src/layout/components/AppMain.vue
at src/layout/index.vue
at src/App.vue
at webpack_exports.default
后来在网上搜寻无果之后,尝试使用Apipost软件单独向服务器发送添加图片请求,结果请求成功!,请求截图如下:可以发现:服务器是能够正常接收post请求的,因此估计可能是项目中的接口API配置有误!
后来尝试将reqAddOrUpdateTradeMark修改为function函数,问题就解决了,但是任然不知道为什么。。
// 初始代码:
export const reqAddOrUpdateTradeMark = (tradeMark) => {
if (tradeMark.id) {
return request(
{
url: '/admin/product/baseTrademark/update',
methods: 'put',
data: tradeMark,
}
)
}
else {
return request(
{
url: '/admin/product/baseTrademark/save',
methods: 'post',
data: tradeMark,
}
)
}
}
// 修改为:
export function reqAddOrUpdateTradeMark (data) {
if (data.id) {
return request({
url: '/admin/product/baseTrademark/update',
method: 'put',
data
})
}
else {
return request({
url: '/admin/product/baseTrademark/save',
method: 'post',
data
})
}
}