我试图按字母/反向字母顺序打印人名。到目前为止我有这个:
Scanner name = new Scanner(System.in);
String N1;
String N2;
String N3;
double az_za;
System.out.print("First name: ");
N1 = name.nextLine();
System.out.print("Middle name: ");
N2 = name.nextLine();
System.out.print("Last name: ");
N3 = name.nextLine();
System.out.print("Enter 1 (alphabetical order) or 2 (reverse alphabetical order):");
az_za = name.nextDouble();
String names[] = {N1, N2, N3}
我尝试过使用字符串,但我不确定在哪里可以看到。我也尝试过使用
if (N1.compareTo(N2) < 0) && (N1.compareTo(N3) < 0)
但是我不知道在{}中放什么,因为我把它放在什么地方按字母顺序隔离名字。
我已经尝试过一切我的能力。我研究并查了很多东西,但没有一个帮助我的情况,所以不要说“你有什么尝试,不会为你做功课”。顺便说一下,我也尝试过使用数组和char(?),但我们没有在课堂上学到这一点,所以我认为我们不能使用它们。
TY提前
编辑:
好的,我想我明白了:
String names[] = {N1, N2, N3};
if (az_za == 1) {
Arrays.sort(names);
} else if (az_za == 2) {
Arrays.sort(names, Collections.reverseOrder());
从这里开始编译但是我不确定在这里的实际印刷语句中放入什么“____”
if (az_za == 1) {
System.out.println("Your name in alphabetical order is " + __________);
}if (az_za == 2) {
System.out.println("Your name in reverse alphabetical order is " +_____________);
因为如果我把Arrays.sort(HERE)中的内容弄得一团糟......
答案 0 :(得分:3)
将此添加到底部。
if (az_za == 1) {
Arrays.sort(names);
} else if (az_za == 2) {
Arrays.sort(names, Collections.reverseOrder());
}
for (String namePart: names) {
System.out.print(namePart + " ");
}
答案 1 :(得分:0)
这是使用Java8执行此操作的最简单方法。
#!/usr/bin/env python
"""
################################################################################
# #
# cool timin' yea #
# #
################################################################################
usage:
program [options]
options:
-h, --help display help message
--version display version and exit
--dayruntime=TEXT HHMM--HHMM [default: 1900--0700]
"""
import datetime
import docopt
import time
def main(options):
day_run_time = options["--dayruntime"]
while True:
if in_daily_time_range(time_range = day_run_time):
print("ok let's do this thing")
# complex deep learning shit
else:
print("i'll wait till it's ma time fam")
# doin' some other things while chillin'
time.sleep(5)
def in_daily_time_range(
time_range = None, # string "HHMM--HHMM" e.g. "1700--1000"
time_start = None, # string "HHMM" e.g. "1700"
time_stop = None # string "HHMM" e.g. "1000"
):
if time_range is not None:
time_start = time_range.split("--")[0]
time_stop = time_range.split("--")[1]
time_start_datetime = datetime.datetime.combine(
datetime.datetime.now().date(),
datetime.datetime.strptime(
time_start,
"%H%M"
).time()
)
time_stop_datetime = datetime.datetime.combine(
datetime.datetime.now().date(),
datetime.datetime.strptime(
time_stop,
"%H%M"
).time()
)
if time_stop_datetime < time_start_datetime:
time_stop_datetime =\
time_stop_datetime + datetime.timedelta(hours = 24)
if time_start_datetime <=\
datetime.datetime.now() <=\
time_stop_datetime:
return True
else:
return False
if __name__ == "__main__":
options = docopt.docopt(__doc__)
if options["--version"]:
print(version)
exit()
main(options)
输出看起来像这样。
public class SortNames {
public static void main(String[] args) {
List<String> names = Arrays.asList("Steven", "Allen", "Bo");
names.sort(String::compareToIgnoreCase);
System.out.println(names);
}
}
答案 2 :(得分:0)
String[] arr = { "d", "a", "b", "c" };
Arrays.sort(arr); // for alphabetical order
Arrays.sort(arr, (a, b) -> b.compareTo(a)); // for reverse alphabetical order
System.out.println(Arrays.toString(arr));