1
文字の配列を持っています。重複する文字は削除する必要があります。私はアルファベットの配列で文字列要素を比較しました。アルファベットの二重引用符のカウンターとして機能する別の配列があります。文字が複数回見つかった場合は、重複した文字を削除して要素を左に移動する必要があります。以下はコードです。コメントのある行にエラーが表示されます。 Javaでは、代入の左側が可変である必要があります。手伝ってくれますか?char要素の配列を左にシフトする方法
import java.util.ArrayList;
import java.util.Scanner;
public class removeduplicate {
public static void main (String args[])
{
Scanner s=new Scanner(System.in);
String str="abbsded";
String myChars="abcdefghijklmnopqrstuvwxyz";
int[] myCounter=new int[26];
for (int i=0; i<str.length(); i++)
{
for(int j=0; j<myChars.length(); j++)
{
if(str.charAt(i)==myChars.charAt(j))
{
myCounter[j]++;
if (myCounter[j]>1)
{
System.out.println("duplication found in "+ str.charAt(i));
for(int h=i; h<str.length();h++)
{
//this line does not work.
str.charAt(h)=str.charAt(h-1);
}
}
}
}
}//end for
}
}
エラーをご報告いただけますか?また、文字列とアルファベット文字列があります。配列はあなたのint [] myCounter – Ishnark
です。ループする方法が多い場合、ハッシュマップを使用してカウントを追跡してください。 –
また、 'str'から重複を削除したい場合はhttp: /stackoverflow.com/questions/4989091/removing-duplicates-from-a-string-in-java – Ishnark