所以对于这个程序,我目前正在创建我必须在一个数组中存储10个名字,这很简单,然后打印出那个10个名字以大写字母显示的数组,这是I&#39的部分;米目前坚持下去。我被告知使用for或for循环将能够实现此目的。
这是我目前的代码:
package uploadTask8_uppercaseArrays;
import java.util.Arrays;
import java.util.Scanner;
public class uppercaseArrays {
public static void main(String[] args) {
// creates array that will store the 10 names
String[] names10 = new String[10];
System.out.println("Please enter the ten names: \n1: ");
// create scanner object to get user input
Scanner userInput = new Scanner(System.in);
String firstName = userInput.nextLine();
System.out.println("2: ");
String secondName = userInput.nextLine();
System.out.println("3: ");
String thirdName = userInput.nextLine();
System.out.println("4: ");
String fourthName = userInput.nextLine();
System.out.println("5: ");
String fifthName = userInput.nextLine();
System.out.println("6: ");
String sixthName = userInput.nextLine();
System.out.println("7: ");
String seventhName = userInput.nextLine();
System.out.println("8: ");
String eigthName = userInput.nextLine();
System.out.println("9: ");
String ninthName = userInput.nextLine();
System.out.println("10: ");
String tenthName = userInput.nextLine();
userInput.close();
// assigns user input to each element in the array
names10[0] = firstName;
names10[1] = secondName;
names10[2] = thirdName;
names10[3] = fourthName;
names10[4] = fifthName;
names10[5] = sixthName;
names10[6] = seventhName;
names10[7] = eigthName;
names10[8] = ninthName;
names10[9] = tenthName;
// prints out the array in lowercase
System.out.println(Arrays.toString(names10));
// prints out the array in uppercase
}
}
我已经查看了其他一些代码,但实际上无法解决for或者每个循环的代码,这些代码会将数组更改为大写。有谁知道这会如何运作?
答案 0 :(得分:1)
实际上无法计算for或for循环的代码 将数组更改为大写。有谁知道这会怎么样 工作?
您可以在将字符串变量存储到数组中时将其简单地转换为大写字母。
names10[0] = firstName.toUpperCase();
names10[1] = secondName.toUpperCase();
...
或者更优雅的选择是运行如下循环:
for (int i = 0; i < names10.length; i++) {
System.out.println((i + 1) + ": ");
names10[i] = userInput.nextLine().toUpperCase();
}
答案 1 :(得分:1)
您可以使用toUpperCase()
来获取大写字母。
您的代码太大而且效率不高。你应该使用循环。如下所示缩短它:
public static void main(String[] args) {
// creates array that will store the 10 names
String[] names10 = new String[10];
System.out.println("Please enter the ten names: \n");
// create scanner object to get user input
Scanner userInput = new Scanner(System.in);
for(int i=1;i<=10;i++)
{
System.out.println(i+": ");
names10[i-1] = userInput.nextLine().toUpperCase();
}
for(int i =1;i<=10;i++)
System.out.println(names10[i-1]);
}
答案 2 :(得分:1)
使用String
(documentation)函数可以很容易地将String#toUpperCase
转换为大写 - 等效,类似于{{1} }(documentation)方法。
因此,您需要访问数组的每个元素,然后在其上调用方法:
String#toLowerCase
或者,如果您不熟悉 enhanced-for (foreach),则使用常规 for 循环的版本:
// Print in uppercase
for (String name : names) {
System.out.println(name.toUpperCase());
}
您也不需要保存所有这些变量,只需将它们存储在数组中即可。之后循环数组并转换变量:
// Print in uppercase
for (int i = 0; i < names.length; i++) {
System.out.println(names[i].toUpperCase());
}
您甚至可以设置public static void main(String[] args) {
String[] names = new String[10];
// Ask for names 10-times
System.out.println("Please enter the ten names:");
// Use try-with-resource for scanner-management
try (Scanner userInput = new Scanner(System.in)) {
for (int i = 0; i < 10; i++) {
System.out.println(i + ": ");
// Ensure that message is readable before
// asking for input
System.out.flush();
// Store the input
names[i] = userInput.nextLine();
}
}
// Scanner is auto-closed due to try-with-resource
// Print in lowercase
for (String name : names) {
System.out.println(name.toLowerCase());
}
// Print in uppercase
for (String name : names) {
System.out.println(name.toUpperCase());
}
}
对象,因为大写和小写可能会在某些语言中发生变化。有关示例,请参阅documentation。
答案 3 :(得分:1)
您可以直接读取值并大写:
String firstName = userInput.nextLine().toUpperCase();
答案 4 :(得分:0)
更改
import nw from 'nwjs'; //I guess this is not correct
为:
// prints out the array in lowercase
System.out.println(Arrays.toString(names10));