import java.io.*;
public class AssignmentMT {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int number1, number2, number3, number4, number5;
double answer;
double geanswer = 0;
String word;
String operator = "";
int score=0, totalscore=10;
float percentage;
int intoperator;
word = br.readLine();
//Game Enhancement.
while (word.equals("Game Enhancement")){
System.out.println("Now you are in the game enhancement, be ready for your 4 level qustions. Write your answer after press enter.");
System.out.println("Press 'Go' to start!");
word = br.readLine();
while (!word.equals("Go")){
System .out.println("Please enter again.");
word = br.readLine();
}
while (word.equals("Go")){
System.out.println("-Level 1-");
number1 = (int) (Math.round (Math.random() * 9)+1);
number2 = (int) (Math.round (Math.random() * 9)+1);
intoperator = (int) (Math.round (Math.random() * 4)+1);
switch (intoperator) {
case 1:
operator = "+";
geanswer = number1+number2;
break;
case 2:
operator = "-";
geanswer = number1-number2;
break;
case 3:
operator = "×";
geanswer = number1*number2;
break;
case 4:
operator = "÷";
geanswer = (double)Math.round(((double)number1/(double)number2)*100)/100;
break;
default:
operator = "+";
geanswer = number1+number2;
break;
}
System.out.println(number1 + operator + number2 + "=");
answer = Double.parseDouble(br.readLine());
if(answer==geanswer){
score++;
}
System.out.println("Your Score: " + score);
System.out.println("-Level 2-");
for (int i=1;i<=2;i++){
number1 = (int) (Math.round (Math.random() * 9)+1);
number2 = (int) (Math.round (Math.random() * 9)+1);
number3 = (int) (Math.round (Math.random() * 9)+1);
intoperator = (int) (Math.round (Math.random() * 4)+1);
switch (intoperator) {
case 1:
operator = "+";
geanswer = number1+number2+number3;
break;
case 2:
operator = "-";
geanswer = number1-number2-number3;
break;
case 3:
operator = "×";
geanswer = number1*number2*number3;
break;
case 4:
operator = "÷";
geanswer = (double)Math.round(((double)number1/(double)number2/(double)number3)*100)/100;
break;
default:
operator = "+";
geanswer = number1+number2+number3;
break;
}
System.out.println(number1 + operator + number2 + operator + number3 + "=");
answer = Double.parseDouble(br.readLine());
if(answer == geanswer){
score++;
}
}
System.out.println("Your Score: " + score);
System.out.println("-Level 3-");
for (int i=1;i<=3;i++){
number1 = (int) (Math.round (Math.random() * 9)+1);
number2 = (int) (Math.round (Math.random() * 9)+1);
number3 = (int) (Math.round (Math.random() * 9)+1);
number4 = (int) (Math.round (Math.random() * 9)+1);
intoperator = (int) (Math.round (Math.random() * 4)+1);
switch (intoperator) {
case 1:
operator = "+";
geanswer = number1+number2+number3+number4;
break;
case 2:
operator = "-";
geanswer = number1-number2-number3-number4;
break;
case 3:
operator = "×";
geanswer = number1*number2*number3*number4;
break;
case 4:
operator = "÷";
geanswer = (double)Math.round(((double)number1/(double)number2/(double)number3/(double)number4)*100)/100;
break;
default:
operator = "+";
geanswer = number1+number2+number3+number4;
break;
}
System.out.println(number1 + operator + number2 + operator + number3 + operator + number4 + "=");
answer = Double.parseDouble(br.readLine());
if(answer == geanswer){
score++;
}
}
System.out.println("Your Score: " + score);
System.out.println("-Level 4-");
for (int i=1;i<=4;i++){
number1 = (int) (Math.round (Math.random() * 9)+1);
number2 = (int) (Math.round (Math.random() * 9)+1);
number3 = (int) (Math.round (Math.random() * 9)+1);
number4 = (int) (Math.round (Math.random() * 9)+1);
number5 = (int) (Math.round (Math.random() * 9)+1);
intoperator = (int) (Math.round (Math.random() * 4)+1);
switch (intoperator) {
case 1:
operator = "+";
geanswer = number1+number2+number3+number4+number5;
break;
case 2:
operator = "-";
geanswer = number1-number2-number3-number4-number5;
break;
case 3:
operator = "×";
geanswer = number1*number2*number3*number4*number5;
break;
case 4:
operator = "÷";
geanswer = (double)Math.round(((double)number1/(double)number2/(double)number3/(double)number4/(double)number5)*100)/100;
break;
default:
operator = "+";
geanswer = number1+number2+number3+number4+number5;
break;
}
System.out.println(number1 + operator + number2 + operator + number3 + operator + number4 + operator + number5 + "=");
answer = Double.parseDouble(br.readLine());
if(answer == geanswer){
score++;
}
}
percentage = (float)((score*100)/totalscore);
System.out.println("Your total Score: " + score);
System.out.println(" ");
System.out.println("Your got " + percentage + "% mark! Congratulation!");
System.out.println("Please enter Quit to end.");
word = br.readLine();
if (word.equals("Quit")){
System.out.println(" ");
System.out.println("That's the end of the contest. Thank you!");
}
}
}
}
}
Привет, ребята, я ученик средней школы. Теперь у меня есть компьютерная наука 11 класса в школе. Вопрос в том, что, как видите, учитель просит о проведении конкурса по математике. Он сказал, что нам нужно сделать не менее 10 уровней. Уровень 1 имеет один случайный оператор. Уровень 2 имеет два случайных оператора ... и так далее. Кроме того, каждый раз, когда участники отвечают правильно, он получает один балл, что означает, что я должен что-то написать, чтобы проверить правильный ответ. Я знаю, что мне нужно использовать для цикла, чтобы выполнить десять уровней, факт, что я уже пытался, но я не могу ................. Я схожу с ума.Как выполнить случайные операции с несколькими операторами математики и проверить правильный ответ в java
Plz помогите мне ..... Спасибо, что прочитали!
Пожалуйста, прочитайте [ask] и сделайте [mcve]. Это невозможно прочитать ... – Tunaki
Первое, что вам нужно сделать, - это научиться форматировать свой код *. То, что у вас там, откровенно просто страшно. –
@Shirley Это действительно основной вопрос (и простой, если вы его сломаете). Прежде всего, вы можете сгенерировать 1 тестовый вопрос. Как только это будет сделано, заключите его в цикл for. – user3437460