将一个数组复制到另一个调用方法
Copying one array into another calling method
我目前正在为我的大学期末考试 Java 学习,我正在做过去的论文来准备。我遇到了以下问题,我需要创建一个方法来接收成绩的字符串数组并计算总数,将成绩转换为 UCAS 关税点(之前的问题),我创建了以下内容:
public class Test
{
public static void main(String[] args)
{
System.out.println(getUcasTariff("B"));
}
public static int getUcasTariff(String grade)
{ int points = 0;
if(grade.equals("A*"))
{
return points = 56;
}
else if(grade.equals("A"))
{
return points = 48;
}
else if(grade.equals("B"))
{
return points = 40;
}
else if(grade.equals("C"))
{
return points = 32;
}
else{
return points = 0;
}
}
public static int getTotalUcasTariff(String[] grades)
{ int[] totalPoints = new int[grades.length];
for(int i = 0; i < grades.length; i++) {
在这里,我需要遍历成绩数组并调用方法 getUcasTariff
将字符串更改为 int 并将其存储到我创建的新数组 totalPoints
中。不过我做不到。
}
int sum = 0;
for (int i : totalPoints) {
sum += i;
}
return sum;
}
}
如果有人能指出正确的方向,或者指出更好的方法,那就太好了。
只需遍历数组,单独转换每个年级并添加 return 值:
public class Test {
public static void main(String[] args) {
System.out.println(getTotalUcasTariff(args));
System.out.println(getTotalUcasTariff(new String[] {"B", "A*"}));
}
public static int getUcasTariff(String grade) {
int points = 0;
if (grade.equals("A*")) {
points = 56;
} else if (grade.equals("A")) {
points = 48;
} else if (grade.equals("B")) {
points = 40;
} else if (grade.equals("C")) {
points = 32;
} else {
points = 0;
}
return points;
}
public static int getTotalUcasTariff(String[] grades) {
int totalPoints = 0;
for (String grade : grades) {
totalPoints = totalPoints + getUcasTariff(grade);
}
return totalPoints;
}
}
带命令行参数和不带参数的输出
$ java Test.java "A*" "B"
96
96
$ java Test.java
0
96
我目前正在为我的大学期末考试 Java 学习,我正在做过去的论文来准备。我遇到了以下问题,我需要创建一个方法来接收成绩的字符串数组并计算总数,将成绩转换为 UCAS 关税点(之前的问题),我创建了以下内容:
public class Test
{
public static void main(String[] args)
{
System.out.println(getUcasTariff("B"));
}
public static int getUcasTariff(String grade)
{ int points = 0;
if(grade.equals("A*"))
{
return points = 56;
}
else if(grade.equals("A"))
{
return points = 48;
}
else if(grade.equals("B"))
{
return points = 40;
}
else if(grade.equals("C"))
{
return points = 32;
}
else{
return points = 0;
}
}
public static int getTotalUcasTariff(String[] grades)
{ int[] totalPoints = new int[grades.length];
for(int i = 0; i < grades.length; i++) {
在这里,我需要遍历成绩数组并调用方法 getUcasTariff
将字符串更改为 int 并将其存储到我创建的新数组 totalPoints
中。不过我做不到。
}
int sum = 0;
for (int i : totalPoints) {
sum += i;
}
return sum;
}
}
如果有人能指出正确的方向,或者指出更好的方法,那就太好了。
只需遍历数组,单独转换每个年级并添加 return 值:
public class Test {
public static void main(String[] args) {
System.out.println(getTotalUcasTariff(args));
System.out.println(getTotalUcasTariff(new String[] {"B", "A*"}));
}
public static int getUcasTariff(String grade) {
int points = 0;
if (grade.equals("A*")) {
points = 56;
} else if (grade.equals("A")) {
points = 48;
} else if (grade.equals("B")) {
points = 40;
} else if (grade.equals("C")) {
points = 32;
} else {
points = 0;
}
return points;
}
public static int getTotalUcasTariff(String[] grades) {
int totalPoints = 0;
for (String grade : grades) {
totalPoints = totalPoints + getUcasTariff(grade);
}
return totalPoints;
}
}
带命令行参数和不带参数的输出
$ java Test.java "A*" "B"
96
96
$ java Test.java
0
96