本人写了一个程序,可以运行。
但我想把其中的静态方法getNewList(),outputNewList(),outputOldList(),checkOrder(),checkEqual()改为非静态方法,并在main()中调用,并能得到和本程序相同的功能。
请高手帮忙,解决即给分!
原程序如下: 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;class ListTest
{
static List<String> oldList = new ArrayList<String>(); static List<String> newList = new ArrayList<String>();
static String[] s1; ListTest()
{
Scanner scanner = new Scanner(System.in);
System.out.println("Input List1:");
        String[] s1 = scanner.nextLine().split(",");
oldList = Arrays.asList(s1);
} static List<String> getNewList()
{
for (int i = 0; i < oldList.size(); i++)
{
if (i % 2 == 0)
{
newList.add(oldList.get(i));
}
}
return newList;
}
static void outputNewList()
{
System.out.print("List2:");
for (int i = 0; i < newList.size(); i++)
{
if (i != (newList.size() - 1))
{
System.out.print(newList.get(i) + ",");
}
else
{
System.out.print(newList.get(i));
}
}
}
static void outputOldList()
{
System.out.print("List1:");
for (int i = 0; i < oldList.size(); i++)
{
if (i != (oldList.size() - 1))
{
System.out.print(oldList.get(i) + ",");
}
else
{
System.out.print(oldList.get(i));
}
}
}
static void checkOrder() 
{
/**s1=new String[oldList.size()];
s1=oldList.toArray(s1);**/
        if(oldList==null || oldList.size() ==0 ||oldList.size() == 1) 
         System.out.println("The list is in increasing order.");
        else 
        {
         one: for(int i=0;i<oldList.size();i++)
                {
         for(int j=i+1;j<oldList.size();j++) 
         {
         if(oldList.get(i).compareTo(oldList.get(j))>0)
         {
         System.out.println("The list is not in increasing order.");
         break one;
         }
         }
         if(i==oldList.size()-1)
         System.out.println("The list is in increasing order.");
                }
        }   
}
static void checkEqual()
{
s1=new String[oldList.size()];
s1=oldList.toArray(s1);
Scanner sc = new Scanner(System.in);
System.out.println("Input the list your want to compare:  ");
        String[] s2 = sc.nextLine().split(",");
        boolean check = Arrays.equals(s1, s2);
        if(check) {
            System.out.println("The two lists are the same.");
        }else {
            System.out.println("The two lists are different.");
        }
        System.out.println();
    }
public static void main(String[] args)
{
newList = new ListTest().getNewList();
outputNewList();
System.out.println();
outputOldList();
System.out.println();
checkOrder();
checkEqual();

}
}

解决方案 »

  1.   


    package csdn;import java.util.ArrayList; 
    import java.util.Arrays; 
    import java.util.List; 
    import java.util.Scanner; public class ListTest 

    static List <String> oldList = new ArrayList <String>(); static List <String> newList = new ArrayList <String>(); 
    static String[] s1; ListTest() 

    Scanner scanner = new Scanner(System.in); 
    System.out.println("Input List1:"); 
            String[] s1 = scanner.nextLine().split(","); 
    oldList = Arrays.asList(s1); 
    }  List <String> getNewList() 

    for (int i = 0; i  < oldList.size(); i++) 

    if (i % 2 == 0) 

    newList.add(oldList.get(i)); 


    return newList; 

     void outputNewList() 

    System.out.print("List2:"); 
    for (int i = 0; i  < newList.size(); i++) 

    if (i != (newList.size() - 1)) 

    System.out.print(newList.get(i) + ","); 

    else 

    System.out.print(newList.get(i)); 



     void outputOldList() 

    System.out.print("List1:"); 
    for (int i = 0; i  < oldList.size(); i++) 

    if (i != (oldList.size() - 1)) 

    System.out.print(oldList.get(i) + ","); 

    else 

    System.out.print(oldList.get(i)); 



     void checkOrder()  

    /**s1=new String[oldList.size()]; 
    s1=oldList.toArray(s1);**/ 
            if(oldList==null || oldList.size() ==0  ||oldList.size() == 1)  
             System.out.println("The list is in increasing order."); 
            else  
            { 
             one: for(int i=0;i <oldList.size();i++) 
                    { 
             for(int j=i+1;j <oldList.size();j++)  
             { 
             if(oldList.get(i).compareTo(oldList.get(j))>0) 
             { 
             System.out.println("The list is not in increasing order."); 
             break one; 
             } 
             } 
             if(i==oldList.size()-1) 
             System.out.println("The list is in increasing order."); 
                    } 
            }    

     void checkEqual() 

    s1=new String[oldList.size()]; 
    s1=oldList.toArray(s1); 
    Scanner sc = new Scanner(System.in); 
    System.out.println("Input the list your want to compare:  "); 
            String[] s2 = sc.nextLine().split(","); 
            boolean check = Arrays.equals(s1, s2); 
            if(check) { 
                System.out.println("The two lists are the same."); 
            }else { 
                System.out.println("The two lists are different."); 
            } 
            System.out.println(); 
        } 
    public static void main(String[] args) 

    ListTest listtest = new ListTest();
    newList = listtest.getNewList(); 
    listtest.outputNewList(); 
    System.out.println(); 
    listtest.outputOldList(); 
    System.out.println(); 
    listtest.checkOrder(); 
    listtest.checkEqual(); } 
    }
      

  2.   

    简单吧,你只要建一个ListTest对象,通过对象调用就可以了
      

  3.   

    恩 支持楼上的 main是静态的 只能调用静态的函数 ListTest对象要设为静态的 用它调用就行了