import?java.io.FileWriter;
import?java.io.IOException;
import?java.util.Arrays;
import?java.util.Comparator;
import?java.util.Scanner;
public?class?Drinks
{
public?static?final?int?REMOVE?=?1;
public?static?final?int?RANDOM?=?2;
public?static?final?String?FILE?=?"asd.txt";
public?static?final?String?LINE?=?System.getProperty("line.separator");
private?static?String[]?remove(String[]?array)
{
String[]?result?=?new?String[0];
String?tmp?=?",";
for(int?i?=?0;?i?<?array.length;?i++)
{
String?one?=?array[i];
if(tmp.indexOf(","?+?one?+?",")?==?-1)
{
String[]?cloned?=?new?String[result.length?+?1];
System.arraycopy(result,?0,?cloned,?0,?result.length);
cloned[cloned.length?-?1]?=?one;
result?=?cloned;
tmp?+=?one?+?",";
}
}
return?result;
}
private?static?void?random(String[]?array)
{
Arrays.sort(array,?new?Comparator<String>()
{
@Override
public?int?compare(String?o1,?String?o2)
{
double?rand?=?Math.random();
if(rand?<?0.5)
{
return?1;
}
return?-1;
}
});
}
private?static?int?writeFile(String?data,?String?file,?boolean?isAppend)
{
int?code?=?1;
try
{
FileWriter?fw?=?new?FileWriter(file,?isAppend);
fw.write(data);
fw.flush();
fw.close();
}
catch(IOException?e)
{
code?=?-1;
}
return?code;
}
public?static?void?main(String[]?args)
{
Scanner?scanner?=?new?Scanner(System.in);
int?step?=?1;
String?line?=?"";
String?choosed;
loop:?while(true)
{
if(step?==?1)
{
System.out.print("輸入任意多個整數,並以逗號分開:");
line?=?scanner.nextLine().trim();
if(!line.matches("^\\d+([,,]\\d+)+$"))
{
continue;
}
step?=?2;
}
else?if(step?==?2)
{
System.out.print("請選擇:1.數組排重?2.隨機打亂:");
choosed?=?scanner.nextLine().trim();
if(!choosed.matches("^[12]$"))
{
System.out.println("輸入錯誤!");
continue;
}
else
{
System.out.print("妳的選擇是:"?+?choosed);
String[]?array?=?line.split("[,,]");
String?data;
int?code;
String?regex?=?"[\\[\\]]";
switch(Integer.parseInt(choosed))
{
case?REMOVE:
String[]?result?=?remove(array);
data?=?Arrays.toString(result).replaceAll(regex,?"")?+?LINE;
System.out.println("操作結果:?"?+?data);
code?=?writeFile(data,?FILE,?true);
if(code?==?1)
{
System.out.println("成功寫入文件");
}
else
{
System.out.println("失敗寫入文件");
}
break;
case?RANDOM:
random(array);
data?=?Arrays.toString(array).replaceAll(regex,?"")?+?LINE;
System.out.println("操作結果:?"?+?data);
code?=?writeFile(data,?FILE,?true);
if(code?==?1)
{
System.out.println("成功寫入文件");
}
else
{
System.out.println("失敗寫入文件");
}
break;
default:
break;
}
while(true)
{
System.out.println("是否繼續?繼續按3,退出按4");
line?=?scanner.nextLine().trim();
if("3".equals(line))
{
step?=?1;
continue?loop;
}
else?if("4".equals(line))
{
scanner.close();
break?loop;
}
else
{
continue;
}
}
}
}
}
}
}