Java 我有一个任务要求我用用户输入来编码占星术,但不起作用
我有一个作业,要求我写一个代码,这个代码与用户输入的数字不同,比如一月=1,一月5=1/5,我的代码将他们输入的数字转换成单词。例如,如果他们输入月和日的4和7,我的代码将其转换为4月7日作为输出 我的问题是,当我运行程序时,程序会要求输入月份,输入之后,即使是1月2日,输出也会显示12月31日。我想这是因为这是我编码的最后一件事,但是如果我使用else-if语句,它会告诉我else没有if也不会编译 这里是代码月份的开始,以与前两个相同的方式继续,然后更改为与月份相同的日期Java 我有一个任务要求我用用户输入来编码占星术,但不起作用,java,string,input,Java,String,Input,我有一个作业,要求我写一个代码,这个代码与用户输入的数字不同,比如一月=1,一月5=1/5,我的代码将他们输入的数字转换成单词。例如,如果他们输入月和日的4和7,我的代码将其转换为4月7日作为输出 我的问题是,当我运行程序时,程序会要求输入月份,输入之后,即使是1月2日,输出也会显示12月31日。我想这是因为这是我编码的最后一件事,但是如果我使用else-if语句,它会告诉我else没有if也不会编译 这里是代码月份的开始,以与前两个相同的方式继续,然后更改为与月份相同的日期 import ja
import java.io.*;
import static java.lang.System.*;
import java.util.Scanner;
import java.lang.Math;
class Assignment2Try2{
public static void main (String str[]) throws IOException {
Scanner scan = new Scanner(System.in);
int numberMonth = 0;
int numberDay = 0;
String month = "";
String day = "";
System.out.println( "What month were you born in? (number)" );
numberMonth = scan.nextInt();
if (numberMonth == 1);
{
month = "January";
}
if (numberMonth == 2);
{
month = "Febuary";
}
在这几天里,它看起来像这样,每个月都会经过第31天,以便于编码:
if (numberDay == 1);
{
day = "first";
}
if (numberDay == 2);
{
day = "second";
}
if (numberDay == 3);
{
day = "third";
}
在这个表单中,它进行编译,但每次只打印12月31日,不管输入是什么,并且不要求输入日期,只要求输入月份。我想我的最终System.out.println可能有问题,看起来是这样的:
System.out.println( "Your birthday is: " + month + " " + day);
我不明白为什么编译器只在12月31日才运行它,因为月份代码似乎没有错,几天的代码也没有错 哦,那也花了我一段时间- 分号太多了。删除if后面的所有分号
if(month == 1);
^
这些。是的,将代码放在这里是一个好主意,但只放在代码的相关部分,即您遇到问题的部分。发布格式良好的相关代码以及所有错误消息和行为问题的描述是一个好主意。否则很难知道你做错了什么。请查看,以及有关如何改进您的问题并增加获得适当帮助的机会的更多信息的部分。删除Javascript和编译器错误标记。请仅使用相关标签。我还删除了关于截止日期的部分,因为它与问题无关。您将不得不发布更多相关代码,因为我认为我们无法从您发布的内容中看到错误的来源。