Это мой второй вопрос, задающий этот вопрос, потому что это назначение должно быть завтра, и я все еще не понимаю, как продвигаться в моем коде! Я нахожусь в классе компьютерного программирования AP, поэтому я начинаю начинать с этого. Моя цель (до сих пор) состоит в том, чтобы умножить две фракции. Есть ли способ использовать переменную внутри конкретного метода вне этого метода в другом методе? Надеюсь, это не смущает, спасибо!Java-калькулятор, глобальные переменные?
import java.util.Scanner;
import java.util.StringTokenizer;
public class javatest3 {
static int num1 = 0;
static int num2 = 0;
static int denom1 = 0;
static int denom2 = 0;
public static void main(String[] args){
System.out.println("Enter an expression (or \"quit\"): "); //prompts user for input
intro();
}
public static void intro(){
Scanner input = new Scanner(System.in);
String user= input.nextLine();
while (!user.equals("quit") & input.hasNextLine()){ //processes code when user input does not equal quit
StringTokenizer chunks = new StringTokenizer(user, " "); //parses by white space
String fraction1 = chunks.nextToken(); //first fraction
String operand = chunks.nextToken(); //operator
String fraction2 = chunks.nextToken(); //second fraction
System.out.println("Fraction 1: " + fraction1);
System.out.println("Operation: " + operand);
System.out.println("Fraction 2: " + fraction2);
System.out.println("Enter an expression (or \"quit\"): "); //prompts user for more input
while (user.contains("*")){
parse(fraction1);
parse(fraction2);
System.out.println("hi");
int num = num1 * num2;
int denom = denom1 * denom2;
System.out.println(num + "/" + denom);
user = input.next();
}
}
}
public static void parse(String fraction) {
if (fraction.contains("_")){
StringTokenizer mixed = new StringTokenizer(fraction, "_");
int wholeNumber = Integer.parseInt(mixed.nextToken());
System.out.println(wholeNumber);
String frac = mixed.nextToken();
System.out.println(frac);
StringTokenizer parseFraction = new StringTokenizer(frac, "/"); //parses by forward slash
int num = Integer.parseInt(parseFraction.nextToken());
System.out.println(num);
int denom = Integer.parseInt(parseFraction.nextToken());
System.out.println(denom);
}
else if (!fraction.contains("_") && fraction.contains("/")){
StringTokenizer parseFraction = new StringTokenizer(fraction, "/"); //parses by forward slash
int num = Integer.parseInt(parseFraction.nextToken());
System.out.println(num);
int denom = Integer.parseInt(parseFraction.nextToken());
System.out.println(denom);
}else{
StringTokenizer whiteSpace = new StringTokenizer(fraction, " ");
int num = Integer.parseInt(whiteSpace.nextToken());
System.out.println(num);
}
}}
Вы задаете неправильный вопрос. Вы отвечаете на конкретный вопрос: «Есть ли способ использовать переменную внутри определенного метода вне этого метода в другом методе?» Всегда будет «нет». Переменная инкапсулируется как локальная переменная. –
Вы можете объявить переменные глобальными. Или вы можете передать переменные в качестве параметров. – Adarsh
Если это тот же вопрос, который вы задали здесь: http://stackoverflow.com/questions/20207131/java-fraction-calculator, то вы должны удалить этот вопрос. –