入门
1.进制转换
描述:写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在1≤n≤2^31-1
输入描述:输入一个十六进制的数值字符串。
输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception{
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()){
String s = sc.nextLine();
System.out.println(Integer.parseInt(s.substring(2,s.length()),16));
}
}
}
2.字符串最后一个单词的长度
描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:输出一个整数,表示输入字符串最后一个单词的长度。
mport java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s =
str.split(" ");
int length = s[s.length - 1].length();
System.out.println(length);
}
}
字符串
1.坐标移动
描述:开发一个坐标计算工具,A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class MainTest15 {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int x = 0;
int y = 0;
String moveStr = reader.readLine();
String[] moves = moveStr.split(";");
for (String move : moves) {
if ("".equals(move) || move.length() > 3) {
continue;
}
char[] arr = move.toCharArray();
int change = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] >= '0' && arr[i] <= '9') {
change = change * 10 + (arr[i] - '0');
} else {
change = 0;
break;
}
}
switch (arr[0]) {
case 'A':
x -= change;
break;
case 'D':
x += change;
break;
case 'W':
y += change;
break;
case 'S':
y -= change;
break;
default:
break;
}
}
System.out.println(x + "," + y);
}
}
2.密码验证合格程序
描述:密码要求:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有相同长度超2的子串重复
输入描述:一组或多组长度超过2的子符串。每组占一行
输出描述:如果符合要求输出:OK,否则输出NG
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str2=sc.nextLine();
if(isValidString(str2)){
System.out.println("OK");
}else{
System.out.println("NG");
}
}
sc.close();
}
private static boolean isValidString(String str) {
if(str== null ||str.length()<= 8){
return false;
}
int typeCount=0;
int[] type=new int[4];
for(int i=0;i<str.length();i++){
char c=str.charAt(i);
int cNum=(int)c;
if(cNum >=97 && cNum<= 122){
type[0]=1;
}else if(cNum >=65 && cNum<=90){
type[1]=1;
}else if(cNum >=48 && cNum<=57){
type[2]=1;
}else{
type[3]=1;
}
}
for(int i=0;i<type.length;i++){
typeCount+=type[i];
}
if(typeCount<3)
return false;
for(int i=0;i<str.length()-3;i++){
String s=str.substring(i, i+3);
String tempStr=str.substring(i+