本人写了一个程序,可以运行。
但我想把其中的静态方法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();
}
}
但我想把其中的静态方法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();
}
}
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(); }
}