intとStrings(単語)の2つの配列があります。両方を並べ替えて、奇妙な場所では単語や偶数になるように印刷してください。1つのint配列と文字列配列を3番目の配列にマージする
これは私のコードです:私は出力を取得しています
import java.util.*;
public class JavaApplication4 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int num[]=new int[10];
String str[]=new String[10];
String str1[]=new String[20];
for(int i=0; i<5; i++)//for taking strings
{
str[i]=in.next();
}
for(int i=0; i<5; i++)//for taking nums
{
num[i]=in.nextInt();
}
for(int i=0; i<5; i++)
{
System.out.println("The String are "+str[i]);
}
for(int i=0; i<5; i++)
{
System.out.println("The num are "+num[i]);
}
for (int i = 0; i < 5; i++) //for sorting nums
{
for (int j = i + 1; j < 5; j++)
{
if (num[i]>(num[j]))
{
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
for (int i = 0; i < 5; i++)// for sorting strs
{
for (int j = i + 1; j < 5; j++)
{
if (str[i].compareTo(str[j])>0)
{
String temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
System.out.println("The sorted strings are:");
for(int i=0; i<10; i++)//for merging both
{
if((i+1)%2==0)
{
int k=0;
str1[i]=String.valueOf(num[k]);
System.out.println("The String are "+str1[i]);
k++;
}
else
{
int j=0;
str1[i]=str[j];
System.out.println("The String are "+str1[i]);
j++;
}
}
/* for(int i=0; i<10; i++)
{
System.out.println("The String are "+str1[i]);
}
*/
}
}
何:
ソート文字列は以下のとおりです。
文字列AB
文字列ですが1
です文字列はab
文字列は1
です文字列AB
文字列である列1
あるAB
文字列である1つの
文字列であるAB
文字列であり、それだけ両方の配列の最初の要素を取って1
あります。
なぜあなたは他の何かを期待していますか?配列要素にアクセスする前に、変数 'k'と' j'を '0'に設定します。 – Tom
変数に意味のある名前を使用するようにしてください。どのインデックス/配列が何を参照しているかを言うのは本当に難しいです。 –