最近我开始用java编程,所以我不太了解但我需要一些帮助。我写了一个计算器(如果你甚至可以称之为...),那么还没有任何东西,但是我想把我的代码修改成一个循环,这样它就会占用用户的第一个数字,第二个数字以及它们是什么想要做(添加减去ect)并解决它然后重新循环所以它会再做一次。我尝试了一个do-while循环,但我无法让它工作。
import java.util.Scanner;
public class Calculator {
public static void main(String [] args){
Scanner in=new Scanner(System.in);
long sum = 0;
long num1 = 0;
long num2 = 0;
char s=' ';
String answer="yes";
border();
System.out.println("Acara's Calculator™ V_.01");
border();
System.out.println("What is your first number? ");
num1=in.nextInt();
System.out.println("What is your second number? ");
num2=in.nextInt();
System.out.println("What operation would you like to do?");
System.out.println("Press '+' for addition, '-' for subtraction, '/' for division or '*' for multiplication.");
s=in.next().charAt(0);
if (s=='/'){
sum=num1/num2;
System.out.println("Your answer is : " + sum);
}
else if (s=='*'){
sum=num1*num2;
System.out.println("Your answer is : " + sum);
}
else if (s=='+'){
sum=num1+num2;
System.out.println("Your answer is : " + sum);
}
else if (s=='-'){
sum=num1-num2;
System.out.println("Your answer is : " + sum);
}
border();
}
public static void border(){
System.out.println("***** ***** ***** ***** ***** ***** ***** ***** ***** *****");
}
}
答案 0 :(得分:0)
试试这个
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
long sum = 0;
long num1 = 0;
long num2 = 0;
char s = ' ';
String answer = "yes";
while (true) {
border();
System.out.println("Acara's Calculator™ V_.01");
System.out.println("What operation would you like to do?");
System.out.println("Press '+' for addition, '-' for subtraction, '/' for division or '*' for multiplication and 'q' for quit.");
s = in.next().charAt(0);
if (s == 'q') {
break;
}
border();
System.out.println("What is your first number? ");
num1 = in.nextInt();
System.out.println("What is your second number? ");
num2 = in.nextInt();
if (s == '/') {
sum = num1 / num2;
System.out.println("Your answer is : " + sum);
} else if (s == '*') {
sum = num1 * num2;
System.out.println("Your answer is : " + sum);
} else if (s == '+') {
sum = num1 + num2;
System.out.println("Your answer is : " + sum);
} else if (s == '-') {
sum = num1 - num2;
System.out.println("Your answer is : " + sum);
}
border();
}
}
public static void border() {
System.out.println("***** ***** ***** ***** ***** ***** ***** ***** ***** *****");
}
}
答案 1 :(得分:0)
这是你需要的那种循环。
import java.util.Scanner;
public class Calculator {
public static void main(String [] args){
Scanner in=new Scanner(System.in);
long result = 0;
long num1 = 0;
long num2 = 0;
char s=' ';
String token = "";
border();
System.out.println("Acara's Calculator™ V_.01");
border();
while (true){
System.out.println("What is your first number? ... Or press ! to quit.");
token = in.next();
if ("!".equalsIgnoreCase(token.trim())){
break;
}
num1 = Integer.parseInt(token);
System.out.println("What is your second number? ... Or press ! to quit.");
token = in.next();
if ("!".equalsIgnoreCase(token.trim())){
break;
}
num2 = Integer.parseInt(token);
System.out.println("What operation would you like to do?");
System.out.println("Press '+' for addition, '-' for subtraction, '/' for division " +
"or '*' for multiplication... Or press ! if you want to quit.");
token = in.next();
if ("!".equalsIgnoreCase(token.trim())){
break;
}
s=token.trim().charAt(0);
if (s=='/'){
result=num1/num2;
System.out.println("Your answer is : " + result);
}
else if (s=='*'){
result=num1*num2;
System.out.println("Your answer is : " + result);
}
else if (s=='+'){
result=num1+num2;
System.out.println("Your answer is : " + result);
}
else if (s=='-'){
result=num1-num2;
System.out.println("Your answer is : " + result);
}
border();
}
}
public static void border() {
System.out
.println("***** ***** ***** ***** ***** ***** ***** ***** ***** *****");
}
}
答案 2 :(得分:0)
这可能就是你想要的 - 它将你的代码包含在while
循环中,但这样做却没有制作一个巨大的 main()
函数:
import java.util.Scanner;
public class Calculator {
private static final Scanner in = new Scanner(System.in);
public static void main(String [] args){
singleLoop();
while(shouldContinue()) {
singleLoop();
}
}
private static boolean shouldContinue() {
System.out.println("Run again? (yes/no)");
return (in.next().equalsIgnoreCase("yes"));
}
private static void singleLoop() {
long sum = 0;
long num1 = 0;
long num2 = 0;
char s=' ';
String answer="yes";
border();
System.out.println("Acara's Calculator™ V_.01");
border();
System.out.println("What is your first number? ");
num1=in.nextInt();
System.out.println("What is your second number? ");
num2=in.nextInt();
System.out.println("What operation would you like to do?");
System.out.println("Press '+' for addition, '-' for subtraction, '/' for division or '*' for multiplication.");
s=in.next().charAt(0);
if (s=='/'){
sum=num1/num2;
System.out.println("Your answer is : " + sum);
}
else if (s=='*'){
sum=num1*num2;
System.out.println("Your answer is : " + sum);
}
else if (s=='+'){
sum=num1+num2;
System.out.println("Your answer is : " + sum);
}
else if (s=='-'){
sum=num1-num2;
System.out.println("Your answer is : " + sum);
}
border();
}
public static void border(){
System.out.println("***** ***** ***** ***** ***** ***** ***** ***** ***** *****");
}
}