Java 两种不同输入的交替字符
我想使用for方法获取两个字符串并将这些字符替换成一个新字符串 示例:“两个”和“一个” 结果:“townoe” 这就是我到目前为止所拥有的,我真的不知道如何完成它Java 两种不同输入的交替字符,java,Java,我想使用for方法获取两个字符串并将这些字符替换成一个新字符串 示例:“两个”和“一个” 结果:“townoe” 这就是我到目前为止所拥有的,我真的不知道如何完成它 public class Alternator { String alternate(String a, String b) { String s = ""; for (int i = 0; i < a.length(); i++) { s += i;
public class Alternator {
String alternate(String a, String b) {
String s = "";
for (int i = 0; i < a.length(); i++) {
s += i;
System.out.println(s);
}
return null;
}
}
公共类交流发电机{
字符串替换(字符串a、字符串b){
字符串s=“”;
对于(int i=0;i
公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行
for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
(;i{
//循环的内部减去行i++
}
对于(;i公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行
for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
(;i{
//循环的内部减去行i++
}
对于(;i公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行
for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
(;i{
//循环的内部减去行i++
}
对于(;i公共级交流发电机{
公共静态字符串替换(字符串a、字符串b){
字符串s=“”;
int i=0;
而(i
要使用for循环而不是while循环,只需删除所有while行和for行,如下所示,然后从每个while循环中删除i++行
for(; i < a.length() && i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < a.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
for(; i < b.length(); i++){
//the inside of the loop MINUS THE LINE i++
}
(;i{
//循环的内部减去行i++
}
对于(;i使用以下方法:
String alternate(String a, String b){
StringBuilder builder = new StringBuilder();
final int greaterLength = a.length() > b.length() ? a.length() : b.length();
for(int i = 0; i < greaterLength; i++){
if (i < a.length()) {
builder.append(a.charAt(i));
}
if (i < b.length()) {
builder.append(b.charAt(i));
}
}
return builder.toString();
}
字符串替换(字符串a、字符串b){
StringBuilder=新的StringBuilder();
final int greaterLength=a.length()>b.length()?a.length():b.length();
for(int i=0;i
它使用该方法获取字母,并使用a创建字符串
(当给定两个长度不相等的字符串时,这将返回前两个字符的交替,然后只执行剩余的字符串。例如:Hello
和Hi
-->HHeillo
)使用以下命令:
String alternate(String a, String b){
StringBuilder builder = new StringBuilder();
final int greaterLength = a.length() > b.length() ? a.length() : b.length();
for(int i = 0; i < greaterLength; i++){
if (i < a.length()) {
builder.append(a.charAt(i));
}
if (i < b.length()) {
builder.append(b.charAt(i));
}
}
return builder.toString();
}
字符串替换(字符串a、字符串b){
StringBuilder=新的StringBuilder();
final int greaterLength=a.length()>b.length()?a.length():b.length();
for(int i=0;i
它使用该方法获取字母,并使用a创建字符串
(当给定两个字符串时)
0
1
2
3
4
for (int i = 0; i < myString.length(); i++) {
System.out.println(myString.charAt(i));
}
H
e
l
l
o
myOtherString += myString.charAt(i);
myAlternatedString += myString.charAt(i);
myAlternatedString += myOtherString.charAt(i);
Hweolrllod
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String a = in.next();
String b = in.next();
String mergedString = "";
int lenA = a.length();
int lenB = b.length();
if (lenA >= lenB) {
for (int i = 0; i < lenA; i++) {
if (i < lenB) {
mergedString += a.charAt(i) + "" + b.charAt(i);
} else {
mergedString += a.charAt(i);
}
}
}
if (lenB > lenA) {
for (int i = 0; i < lenB; i++) {
if (i < lenA) {
mergedString += a.charAt(i) + "" + b.charAt(i);
} else {
mergedString += b.charAt(i);
}
}
}
System.out.println("the merged string is-->" + mergedString);
}
String str3="";
if(str1!=null && str2!=null && !str1.isEmpty() && !str2.isEmpty()){
if(str1.length()==str2.length()){
for(int i=0;i<=str1.length()-1;i++){
str3+=str1.charAt(i);
str3+=str2.charAt(i);
}
}
if(str1.length()>str2.length()){
for(int i=0;i<=str1.length()-1;i++){
str3+=str1.charAt(i);
if(i<str2.length()){
str3+=str2.charAt(i);
}
}
}
if(str2.length()>str1.length()){
for(int i=0;i<=str2.length()-1;i++){
if(i<str1.length()){
str3+=str1.charAt(i);
}
str3+=str2.charAt(i);
}
}
}
return str3;
}
String alternate(String a, String b) {
StringBuilder builder = new StringBuilder();
int smallerStringLength = Math.min(a.length(), b.length());
for (int i = 0; i < smallerStringLength; i++) {
builder.append(a.charAt(i));
builder.append(b.charAt(i));
}
return builder.toString();
}
String alternate(String first, String second) {
char[] firstChars = first.toCharArray();
char[] secondChars = second.toCharArray();
int smallerCharsCount = Math.min(firstChars.length, secondChars.length);
StringBuilder builder = new StringBuilder(smallerCharsCount * 2);
for (int i = 0; i < smallerCharsCount; i++) {
builder.append(firstChars[i]);
builder.append(secondChars[i]);
}
return builder.toString();
}
static void mergeStrings(String a, String b) {
StringBuilder mergedBuilder = new StringBuilder();
char[] aCharArr = a.toCharArray();
char[] bCharArr = b.toCharArray();
int minLength = aCharArr.length >= bCharArr.length ? bCharArr.length : aCharArr.length;
for (int i=0; i<minLength; i++) {
mergedBuilder.append(aCharArr[i]).append(bCharArr[i]);
}
if(minLength < aCharArr.length) {
mergedBuilder.append(a.substring(minLength));
}
else{
mergedBuilder.append(b.substring(minLength));
}
Systemout.println(mergedBuilder.toString());
}
String str1 = "one"; String str2 = "two";
StringBuilder sb = new StringBuilder();
int i = 0;
for (; i < str1.length() && i < str2.length(); i++) {
sb.append(str1.charAt(i)).append(str2.charAt(i));
}
for(; i < str1.length(); i++) {
sb.append(str1.charAt(i));
}
for(; i < str2.length(); i++) {
sb.append(str2.charAt(i));
}
System.out.println("result = " + sb.toString());// otnweo
public static void main(String... args) {
int[] one = { 1, 2, 3 };
int[] two = { 44, 55, 66, 77, 88 };
System.out.println(Arrays.toString(alternate(one, two)));
}
public static int[] alternate(int[] one, int[] two) {
int[] res = new int[one.length + two.length];
for (int i = 0, j = 0, k = 0; i < res.length; i++) {
if (i % 2 == 0)
res[i] = j < one.length ? one[j++] : two[k++];
else
res[i] = k < two.length ? two[k++] : one[j++];
}
return res;
}
[1, 44, 2, 55, 3, 66, 77, 88]