浦发银行笔试真题
1、判断素数
package com.elijih.banktests10;
import java.util.Scanner;
public class test01 {
public static void main(String[] args) {
System.out.print("请输入一个正整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (isPrime(num)){
System.out.printf("%d是一个素数",num);
}else{
System.out.printf("%d不是素数",num);
}
sc.close();
}
public static boolean isPrime(int num){
if(num<2){
return false;
}
int t = (int)Math.sqrt(num);
for (int i=2;i<=t;i++){
if (num%i == 0){
return false;
}
}
return true;
}
}
2、判断闰年
package com.elijih.banktests10;
public class test02 {
public static void main(String[] args) {
for (int year=1990;year<=2010;year++){
if(year%4 == 0 && year%100 != 0){
System.out.printf("%d是闰年\n",year);
continue;
}else if (year%100 == 0 && year%400 == 0 ){
System.out.printf("%d是闰年\n",year);
}
}
}
}
3、判断是否为非完全平方数
package com.elijih.banktests10;
import java.util.Scanner;
import java.util.regex.Pattern;
public class test03 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.print("请输入一个数:");
int num = 0;
try {
num = sc.nextInt();
} catch (Exception e) {
throw new RuntimeException("输入的不是整数");
}
if(!isNumric(num)){
System.out.printf("%d不是一个正整数,更不是非完全平方数",num);
}else if ((Math.sqrt(num) - (int)Math.sqrt(num)) == 0){
System.out.printf("%d不是一个非完全平方数",num);
}else{
System.out.printf("%d是一个非完全平方数",num);
}
sc.close();
}
public static boolean isNumric(int num){
Pattern p = Pattern.compile("[0-9]*");
return p.matcher(Integer.toString(num)).matches();
}
}
4、异位词
package com.elijih.banktests10;
import java.util.Arrays;
import java.util.Scanner;
public class test04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入第一个字符串:");
String str1 = sc.nextLine();
System.out.print("请输入第二个字符串:");
String str2 = sc.nextLine();
if (isAnagram(str1,str2)){
System.out.printf("%s和%s是一对异序字符串",str1,str2);
}else {
System.out.printf("%s和%s不是一对异序字符串",str1,str2);
}
}
public static boolean isAnagram(String str1,String str2){
if(str1.length() != str2.length()){
return false;
}
char[] c1 = str1.toCharArray();
char[] c2 = str2.toCharArray();
Arrays.sort(c1);
Arrays.sort(c2);
return Arrays.equals(c1,c2);
}
}
5、字符替换
package com.elijih.banktests10;
import java.util.Arrays;
import java.util.Scanner;
public class test05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String s = sc.nextLine();
char[] t = s.toCharArray();
for (int i=0;i<t.length;i++){
if (t[i] == 'a' || t[i] == 'A'){
t[i]='c';
}
}
String str = new String(t);
System.out.printf("转换后的字符串是%s",str);
sc.close();
}
}
6、求字符串所有子串
package com.elijih.banktests10;
public class test06 {
public static void main(String[] args) {
String str = "abbcc";
System.out.printf("原字符串为:%s\n",str);
int count = 0;
for (int i=0;i<str.length();i++){
for(int j=i+1;j<=str.length();j++){
count++;
System.out.printf("第%d个子串为:%s\n",count,str.substring(i,j));
}
}
}
}
7、字符串大小写转换
package com.elijih.banktests10;
public class test07 {
public static void main(String[] args) {
String str = "AFSGsbf";
System.out.println(str.toLowerCase());
System.out.println(str.toUpperCase());
}
}
8、输出字符串中仅出现一次的第一个字符
package com.elijih.banktests10;
import java.util.HashMap;
public class test08 {
public static void main(String[] args) {
String str = "affasf";
HashMap<Character,Integer> hashMap = new HashMap<>();
for (int i=0;i<str.length();i++){
if (hashMap.containsKey(str.charAt(i))){
int value = hashMap.get(str.charAt(i));
hashMap.put(str.charAt(i),value+1);
}else{
hashMap.put(str.charAt(i),1);
}
}
for(int i=0;i<str.length();i++){
if(hashMap.get(str.charAt(i)) == 1){
System.out.println(str.charAt(i));
break;
}
}
}
}
9、两个字符串,在第一个字符串中出现,第二个中未出现的字符串
package com.elijih.banktests10;
impor