1.什么是ACM输入模式呢?
就是自己构造输入数据格式,把要需要处理的容器填充好,OJ不会给你任何代码,输入输出函数都要自己写,最后也要自己控制返回数据的格式。而力扣上是核心代码模式,就是把要处理的数据都已经放入容器里,可以直接写逻辑。
2.字符串String的输入处理
Scanner scanner = new Scanner(System.in);
System.out.print("第一个字符串为: ");
String word1 = scanner.nextLine();
System.out.print("第二个字符串为: ");
String word2 = scanner.nextLine();
String res = allover(word1, word2);
System.out.println("处理后,数为:" + res);
//此处为两个字符串,若需要传入未知个数,可使用下面代码
Scanner scanner = new Scanner(System.in);
String mergedString = "";
boolean continueInput = true;
while (continueInput) {
System.out.print("Enter a word (or 'q' to quit): ");
String input = scanner.nextLine();
if (input.equals("q")) {
continueInput = false;
} else {
mergedString = mergeAlternately(mergedString, input);
}
}
System.out.println("Merged string: " + mergedString);
}
3.字符串的拼接处理
public static String allover(String word1, String word2) {
StringBuilder sb = new StringBuilder();
int len1 = word1.length();
int len2 = word2.length();
int i = 0 , j = 0;
//双指针
while (i < len1 || j < len2) {
if(i<len1){
sb.append(word1.charAt(i));
i++;
}
if (j<len2){
sb.append(word2.charAt(j));
j++;
}
}
return sb.toString();
}
4.完整代码
package com.example.train;
import java.util.Scanner;
class Solution01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("第一个字符串为: ");
String word1 = scanner.nextLine();
System.out.print("第二个字符串为: ");
String word2 = scanner.nextLine();
//
String res = allover(word1, word2);
System.out.println("处理后,数为:" + res);
}
public static String allover(String word1, String word2) {
StringBuilder sb = new StringBuilder();
int len1 = word1.length();
int len2 = word2.length();
int i = 0 , j = 0;
//双指针
while (i < len1 || j < len2) {
if(i<len1){
sb.append(word1.charAt(i));
i++;
}
if (j<len2){
sb.append(word2.charAt(j));
j++;
}
}
return sb.toString();
}
}
5.结果呈现
![](https://img-blog.csdnimg.cn/ab3cd86a74dc46ba8f8e8b0817f77268.png)