这是一个小代码
public static void isAscending(String[] array){
// TODO This function will verify the details of the column if the column contents are actually ascending
for(String a: array)
log(a);
Arrays.sort(array);
for(String ao: array)
log(ao);
}
在上面,如果我只使用第一个for循环,我按照它们传递的顺序获取所有元素。如果我将它们放在一起,我就得不到输出。 (Log是一个与System.out.println相同的函数)
我犯了一些重大错误吗? 我看不出第二个循环不起作用的原因
日志方法:
public static void log(String text) {
System.out.println(text);
}
INPUT ARRAY: 我从网页(使用Selenium)获取数组。这是执行该功能的功能(它完美运行并提供我期望的输出):
public static String[] getEmail() {
WebElement table_element = driver.findElement(By.className(TABLE_RESPONSE));
List<WebElement> tr_collection=table_element.findElements(By.xpath("//tbody//tr[position()>2]"));
int i=0;
String[] emails = new String[tr_collection.size()];
for(WebElement trElement : tr_collection) {
WebElement email = trElement.findElement(By.className("email"));
String email_id = email.getText();
emails[i] = email_id;
i++;
}
return emails;
}
以下是我的称呼方式:
isAscending(getEmail());
答案 0 :(得分:1)
我测试了您的代码,它正常运行,只是确保您正确地打开和关闭fors
..
这是我的代码示例:
public class Main {
public static void main(String[] args) throws ParseException {
String[] array = new String[10];
array[0] = "teste1";
array[1] = "teste2";
array[2] = "asdf3";
array[3] = "dfg4";
array[4] = "xcv";
array[5] = "324dfg";
array[6] = "der";
array[7] = "a";
array[8] = "sdf1";
array[9] = "fgdfg7";
isAscending(array);
}
public static void isAscending(String[] array) {
for (String a : array) {
System.out.println(a);
}
System.out.println("----------");
Arrays.sort(array);
for (String ao : array) {
System.out.println(ao);
}
}
}
输出:
teste1
teste2
asdf3
dfg4
xcv
324dfg
der
a
sdf1
fgdfg7
----------
324dfg
a
asdf3
der
dfg4
fgdfg7
sdf1
teste1
teste2
xcv