class StringTest
{
public static void main(String[] args)
{
String[] str={"nba","abc","cba","zz","qq","haha"};
for (int x=0;x<str.length-1;x++)
{ for (int y=x+1;y<arr.length;y++)
{
if (str[x].compareTo(str[y])>0)
{
change(str,x,y);
}
System.out.print(str[x]+",");
}
}
public static void change(String arr,int x,int y)
{
String temp=str[x];
str[x]=str[y];
str[y]=temp; }
}
}
编译通不过,请问各位大佬错在哪里?
{
public static void main(String[] args)
{
String[] str={"nba","abc","cba","zz","qq","haha"};
for (int x=0;x<str.length-1;x++)
{ for (int y=x+1;y<arr.length;y++)
{
if (str[x].compareTo(str[y])>0)
{
change(str,x,y);
}
System.out.print(str[x]+",");
}
}
public static void change(String arr,int x,int y)
{
String temp=str[x];
str[x]=str[y];
str[y]=temp; }
}
}
编译通不过,请问各位大佬错在哪里?
解决方案 »
- 请问使用JAVA开发远程系统,一般采用什么方式?
- 父类有个静态变量name,那子类可以命名一个变量叫name吗?
- 关于一个文字过滤问题
- java里画图。我用Xor模式,但是擦不干净以前画的线
- 怎样使用一张彩色图片灰度化,就象是被要禁用了一样!
- 如何使用Class类使得不需要文件的位置,欢迎大家来顶哦!
- 关于jxl,help!
- BIRT怎么把参数传到报表文件中去啊?是通过超连接吗?
- 关于图片上传的问题。
- 谁能讲讲实例与实例化的东西,谢谢了,一定给分。
- 求教,如何删除JFileChooser类的showOpenDialog的新建文件图标
- Swing中JTextArea行末输入显示时却自动换到下一行
public class Test {
public static void main(String[] args) {
String[] str = { "nba", "abc", "cba", "zz", "qq", "haha" };
for (int x = 0; x < str.length - 1; x++) { // for (int y=x+1;y<arr.length;y++)
for (int y = x + 1; y < str.length; y++) {
if (str[x].compareTo(str[y]) > 0) {
change(str, x, y); //change 方法第一个参数是String数组,不是String
}
System.out.print(str[x] + ",");
}
}
}
//change方法定义在main方法外面
public static void change(String[] str, int x, int y) //变量名str和方法里面保持一致
// public static void change(String[] arr, int x, int y)
{
String temp = str[x];
str[x] = str[y];
str[y] = temp; }
// }
}
public static void main(String[] args)
{
String[] str={"nba","abc","cba","zz","qq","haha"};
for (int x=0;x<str.length-1;x++)
{for (int y=x+1;y<str.length;y++)
{
if (str[x].compareTo(str[y])>0)
{
change(str,x,y);
}
System.out.print(str[x]+",");
}
}
}
public static void change(String[] str,int x,int y)
{
String temp = str[x];
str[x] = str[y];
str[y] = temp;
}
}
{
private static String[] str;
public static void main(String[] args)
{
str = new String[] {"nba","abc","cba","zz","qq","haha"};
for (int x=0;x<str.length-1;x++)
{for (int y=x+1;y<str.length;y++)
{
if (str[x].compareTo(str[y])>0)
{
change(str,x,y);
}}
System.out.print(str[x]+",");}}
public static void change(String [] arr,int x,int y)
{
String temp=str[x];
str[x]=str[y];
str[y]=temp;}
}
说实话,你运行时,你的开发软件没报错吗
/*1.静态方法放在main方法外面
* 2.change方法里面String 类型参数要换成String[]的类型,要跟main方法里面传的值对应
* 3.change方法里面arr换成str,调用参数名要一致
* 4.for循环里面的arr.length要换成str.length,你上面定义的数组名是str,下面为啥写arr
* 细心点吧全是错误,一看就是没认真,估计这段代码你也是粘贴的,然后名字都没改
*/
public static void main(String[] args) {
String[] str = {"nba", "abc", "cba", "zz", "qq", "haha"};
for (int x = 0; x < str.length - 1; x++) { for (int y = x + 1; y < str.length; y++) {
if (str[x].compareTo(str[y]) > 0) {
change(str, x, y);
}
System.out.print(str[x] + ",");
}
}
} public static void change(String[] str, int x, int y) {
String temp = str[x];
str[x] = str[y];
str[y] = temp;
}
}
{
public static void main(String[] args) {
String[] str = {"nba", "abc", "cba", "zz", "qq", "haha"};
for (int x = 0; x < str.length - 1; x++) {
for (int y = x + 1; y < str.length; y++) {
if (str[x].compareTo(str[y]) > 0) {
change(str, x, y);
}
System.out.print(str[x] + ",");
}
}
}
public static void change(String[] str,int x,int y)
{
String temp=str[x];
str[x]=str[y];
str[y]=temp; }
}
String[] str = { "nba", "abc", "cba", "zz", "qq", "haha" };
for (int x = 0; x < str.length - 1; x++) {
for (int y = x + 1; y < str.length; y++) {
if (str[x].compareTo(str[y]) > 0) {
change(str, x, y);
}
}
}
for (String string : str) {
System.out.print(string+",");
}
} public static void change(String[] str, int x, int y) {
String temp = str[x];
str[x] = str[y];
str[y] = temp; }
这不是应该对str操作吗,所以你将for 语句中的arr.length改为str.length就可以了。