在九月十八号下午参加了华南理工大学校园招聘会其中最后两道编程题记录一下顺便给有兴趣或者需要的小伙伴看看
1、1 2 3 4组成多少个三个不重复的三位数
这个题目解决办法有很多种,我当时的第一反应就是循环下面是我编写的代码
package Test;
public class One {
public static void main(String[] args) {
int count=0;
for(int one=1;one<=4;one++){
for(int two=1;two<=4;two++){
for(int three=1;three<=4;three++){
if(one!=two&&one!=three&&two!=three){
count++;
System.out.println(one*100+two*10+three);
}
}
}
}
System.out.println("总共有"+count+"组数字组合");
}
}
这是第一题我的解法,不过其中要注意一点平常习惯从0开始循环这里应该都从1开始,还是就是判断他们各不相等简单来说还是比较考基础
2、统计字符串中空格、数字、字母的个数
讲实话这道题我现在想来一点都不难,但是我当初想的是如何一个一个的求长度,比如我当初的想法就是我想统计总的字符串长度,然后通过正则去掉数字或者字母在用最开始的长度减去筛选后的长度,我觉得这能成功但是我对正则不是很熟悉手写起来很僵硬所以后来我就改了一下没有用正则了
package Test;
import java.util.Scanner;
public class CountType {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
res(s);
}
public static void res(String s){
int countMath=0,countChar=0,countBlank=0;
for(int i=0;i<s.length();i++){
char temp=s.charAt(i);
if('A'<=temp&&temp<='Z'||'a'<=temp&&temp<='z'){
countChar++;
}if('0'<=temp&&temp<='9'){
countMath++;
}else if(temp=='\t'||temp=='\n'||temp==' '){
countBlank++;
}
}
System.out.println("数字的个数为:"+countMath);
System.out.println("字母的个数为:"+countChar);
System.out.println("空格的个数为:"+countBlank);
}
}
这道题讲真的我觉得我做的很差这是后来我回来改写的真的不应该
最后记录一下自己的笔试也希望能帮到需要帮助的人
希望自己能成功拿到心仪的offer
掰掰