Java 使用 if 语句、for 循环和方法调用
Java using if statement, for loop and method call
在 main 中,创建一个 for 循环,它将询问数字等级并使用 getLetterGrade 方法打印出字母等级,直到用户输入 -1。所以实际上我必须要求用户输入 0 到 100 之间的等级,它会在方法中查找并打印适当的等级?正确的???所以这是代码
System.out.println("Please enter you grade total: ");
Scanner Keyboard = new Scanner(System.in);
studentGrade = Keyboard.nextInt();
for(studentGrade = 0; studentGrade < 1; ++studentGrade){
System.out.print(getLetterGrade);
创建一个名为 getLetterGrade 的方法。 getLetterGrade 方法获取 0-100 之间的等级,然后打印出相应的字母等级。等级范围为 A:100-90 B:80-89 C:70-79,D:60-69,F:0-59。在 main 中,创建一个 for 循环,它将询问数字等级并使用 getLetterGrade 方法打印出字母等级,直到用户输入 -1。"
这是我的代码:我使用 if,else if 条件编写的。我不明白的是我是否必须在 main 或方法中写条件。通常我对编码没有问题,但这件事让我感到困惑。我考虑过使用 case,但是 if,else if 条件似乎更直接。
import java.util.Scanner;
public class getLetterGrade {
public static void getLetterGrade(String getLetterGrade){
int studentGrade = 0;
if(studentGrade >= 90) getLetterGrade("A");
else if(studentGrade >= 80) getLetterGrade("B");
else if(studentGrade >= 70) getLetterGrade("C");
else if(studentGrade >= 60) getLetterGrade("D");
else if(studentGrade >= 0) getLetterGrade("F");
else
System.out.println("you have entered incorrect integer");
int i = 0;
for (i = 0; i < 1; i++){
System.out.print(studentGrade + " ");
}
System.out.println();
}
public static void main(String[] args) {
int studentGrade = 0;
getLetterGrade("A");
getLetterGrade("B");
getLetterGrade("C");
getLetterGrade("D");
getLetterGrade("F");
System.out.println("Please enter you grade total: ");
Scanner Keyboard = new Scanner(System.in);
studentGrade = Keyboard.nextInt();
for(studentGrade = 0; studentGrade < 1; ++studentGrade){
System.out.print(studentGrade);
}
}
}
我知道我必须打印 getLetterGrade 但是当我尝试打印 getLetterGrade 时它会抛出错误,我不明白......
感谢所有帮助!!
您的 getLetterGrade 方法是递归的。在该方法中,您设置 studentGrade=0,因此该方法调用 getLetter("A")。重复此操作,导致计算器溢出错误。
我认为这是你想要的:
public static void getLetterGrade (int studentGrade) {
if (studentGrade >= 90) System.out.println("A");
else if (studentGrade >= 80) System.out.println("B");
else if (studentGrade >= 70) System.out.println("C");
else if (studentGrade >= 60) System.out.println("D");
else if (studentGrade >= 0) System.out.println("F");
else System.out.println("You have entered an incorrect integer.");
}
在你的主要方法中,我认为这就是你想要的:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int studentGrade = keyboard.nextInt();
while (studentGrade != -1) {
getLetterGrade(studentGrade);
studentGrade = keyboard.nextInt();
}
}
在main方法中不能使用for循环,因为事先不知道用户要输入多少次。另一方面,while 循环检查输入是否不是 -1,然后打印出每次迭代的成绩。
您可能需要查看有关 for 循环的教程。在 for 循环中,变量只是一个索引。它没有您之前分配给它的任何值。
试试这个。
package com.health;
导入java.util.Scanner;
public class 测试 {
public static void getLetterGrade(int studentGrade) {
// int studentGrade = 0;
if (studentGrade >= 90)
System.out.println("A");
else if (studentGrade >= 80)
System.out.println("B");
else if (studentGrade >= 70)
System.out.println("C");
else if (studentGrade >= 60)
System.out.println("D");
else if (studentGrade >= 0)
System.out.println("E");
else
System.out.println("you have entered incorrect integer");
// int i = 0;
//
// for (i = 0; i < 1; i++) {
// System.out.print(studentGrade + " ");
// }
//
// System.out.println();
}
public static void main(String[] args) {
int studentGrade = 0;
// getLetterGrade("A");
// getLetterGrade("B");
// getLetterGrade("C");
// getLetterGrade("D");
// getLetterGrade("F");
while (true) {
System.out.println("Please enter you grade total: ");
Scanner Keyboard = new Scanner(System.in);
studentGrade = Keyboard.nextInt();
if (studentGrade == -1) {
break;
} else {
getLetterGrade(studentGrade);
}
}
// for (studentGrade = 0; studentGrade < 1; ++studentGrade) {
// System.out.print(studentGrade);
// }
}
}
在 main 中,创建一个 for 循环,它将询问数字等级并使用 getLetterGrade 方法打印出字母等级,直到用户输入 -1。所以实际上我必须要求用户输入 0 到 100 之间的等级,它会在方法中查找并打印适当的等级?正确的???所以这是代码
System.out.println("Please enter you grade total: ");
Scanner Keyboard = new Scanner(System.in);
studentGrade = Keyboard.nextInt();
for(studentGrade = 0; studentGrade < 1; ++studentGrade){
System.out.print(getLetterGrade);
创建一个名为 getLetterGrade 的方法。 getLetterGrade 方法获取 0-100 之间的等级,然后打印出相应的字母等级。等级范围为 A:100-90 B:80-89 C:70-79,D:60-69,F:0-59。在 main 中,创建一个 for 循环,它将询问数字等级并使用 getLetterGrade 方法打印出字母等级,直到用户输入 -1。"
这是我的代码:我使用 if,else if 条件编写的。我不明白的是我是否必须在 main 或方法中写条件。通常我对编码没有问题,但这件事让我感到困惑。我考虑过使用 case,但是 if,else if 条件似乎更直接。
import java.util.Scanner;
public class getLetterGrade {
public static void getLetterGrade(String getLetterGrade){
int studentGrade = 0;
if(studentGrade >= 90) getLetterGrade("A");
else if(studentGrade >= 80) getLetterGrade("B");
else if(studentGrade >= 70) getLetterGrade("C");
else if(studentGrade >= 60) getLetterGrade("D");
else if(studentGrade >= 0) getLetterGrade("F");
else
System.out.println("you have entered incorrect integer");
int i = 0;
for (i = 0; i < 1; i++){
System.out.print(studentGrade + " ");
}
System.out.println();
}
public static void main(String[] args) {
int studentGrade = 0;
getLetterGrade("A");
getLetterGrade("B");
getLetterGrade("C");
getLetterGrade("D");
getLetterGrade("F");
System.out.println("Please enter you grade total: ");
Scanner Keyboard = new Scanner(System.in);
studentGrade = Keyboard.nextInt();
for(studentGrade = 0; studentGrade < 1; ++studentGrade){
System.out.print(studentGrade);
}
}
}
我知道我必须打印 getLetterGrade 但是当我尝试打印 getLetterGrade 时它会抛出错误,我不明白......
感谢所有帮助!!
您的 getLetterGrade 方法是递归的。在该方法中,您设置 studentGrade=0,因此该方法调用 getLetter("A")。重复此操作,导致计算器溢出错误。
我认为这是你想要的:
public static void getLetterGrade (int studentGrade) {
if (studentGrade >= 90) System.out.println("A");
else if (studentGrade >= 80) System.out.println("B");
else if (studentGrade >= 70) System.out.println("C");
else if (studentGrade >= 60) System.out.println("D");
else if (studentGrade >= 0) System.out.println("F");
else System.out.println("You have entered an incorrect integer.");
}
在你的主要方法中,我认为这就是你想要的:
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int studentGrade = keyboard.nextInt();
while (studentGrade != -1) {
getLetterGrade(studentGrade);
studentGrade = keyboard.nextInt();
}
}
在main方法中不能使用for循环,因为事先不知道用户要输入多少次。另一方面,while 循环检查输入是否不是 -1,然后打印出每次迭代的成绩。
您可能需要查看有关 for 循环的教程。在 for 循环中,变量只是一个索引。它没有您之前分配给它的任何值。
试试这个。
package com.health;
导入java.util.Scanner;
public class 测试 {
public static void getLetterGrade(int studentGrade) {
// int studentGrade = 0;
if (studentGrade >= 90)
System.out.println("A");
else if (studentGrade >= 80)
System.out.println("B");
else if (studentGrade >= 70)
System.out.println("C");
else if (studentGrade >= 60)
System.out.println("D");
else if (studentGrade >= 0)
System.out.println("E");
else
System.out.println("you have entered incorrect integer");
// int i = 0;
//
// for (i = 0; i < 1; i++) {
// System.out.print(studentGrade + " ");
// }
//
// System.out.println();
}
public static void main(String[] args) {
int studentGrade = 0;
// getLetterGrade("A");
// getLetterGrade("B");
// getLetterGrade("C");
// getLetterGrade("D");
// getLetterGrade("F");
while (true) {
System.out.println("Please enter you grade total: ");
Scanner Keyboard = new Scanner(System.in);
studentGrade = Keyboard.nextInt();
if (studentGrade == -1) {
break;
} else {
getLetterGrade(studentGrade);
}
}
// for (studentGrade = 0; studentGrade < 1; ++studentGrade) {
// System.out.print(studentGrade);
// }
}
}