java代码问题。老师让写段代码输入字符显示星期几。代码如下:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码问题。老师让写段代码输入字符显示星期几。代码如下:相关的知识,希望对你有一定的参考价值。

import java.io.*;
public class demo1

public static void main(String args[])

System.out.println("请输入字母:a代表星期一,b代表星期二,c代表星期三,d代表星期四,e代表星期五,f代表星期六,g代表星期日");
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
byte c=buf.readLine();
switch(c)

case 'a':
System.out.println("今天星期一");
break;
case 'b':
System.out.println("今天星期二");
break;
case 'c':
System.out.println("今天星期三");
break;
case 'd':
System.out.println("今天星期四");
break;
case 'e':
System.out.println("今天星期五");
break;
case 'f':
System.out.println("今天星期六");
break;
case 'g':
System.out.println("今天星期日");
break;


参考技术A byte c=buf.readLine(); 这句就不对 buf.readLine();返回的String 不是byte
改成String c=buf.readLine();

case 'a': 说明 c的类型应该是char 如果是jdk1.7的话直接把 'a'改成 ”a“,jdk1.7支持switch字符串
如果是其他的 就
String d=buf.readLine();
char c=d.trim().charAt(0);
switch(c)

case 'a':
System.out.println("今天星期一");
break;
另buf.readLine()会抛出异常需要try catch处理或者继续抛出
switch 可以指定一个default 提示输入字符有误。
参考技术B byte c=buf.readLine();修改成byte c=buf.readLine().getBytes()[0];
buf.readLine()获取的是一个字符串,只有通过getBytes()转换成为一个byte数组然后才能取得byte值,用于switch判断
参考技术C buf.readLine();
这一行代码错误,返回值应该是String类型,但是你用byte 接受.

BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
String count="";
try
count = buf.readLine();
catch (IOException e)
e.printStackTrace();

byte c = count.getBytes()[0];
switch (c)
代码copy覆盖就OK了本回答被提问者采纳
参考技术D 楼上2位均可解决问题 第5个回答  2013-01-08 你没说明你遇到的什么问题。不过估计你应该是遇到了switch(c)报错的问题,在jdk1.6以前,c的值是不允许为字符串的,但是jdk1.7后,就允许使用字符串,如果你是遇到这个问题,建议把c的值改为非字符串,或者是装上jdk1.7

java编程打印大学四年的生日都是星期几?

下面是一个简单的 Java 程序示例,用于打印指定时间段内每个日期是星期几:

```java
import java.time.DayOfWeek;
import java.time.LocalDate;

public class BirthdayPrint
public static void main(String[] args)
int startYear = 2022; // 开始年份
int endYear = 2025; // 结束年份

for (int year = startYear; year <= endYear; year++)
for (int month = 1; month <= 12; month++)
for (int day = 1; day <= 31; day++) // 最大值为 31,超出月份天数的部分会自动忽略
try
LocalDate date = LocalDate.of(year, month, day);
DayOfWeek dow = date.getDayOfWeek();
System.out.println(date + " is " + dow);
catch (Exception e) // 如果日期非法,则会抛出异常,这里捕获并忽略即可






```

此程序使用 Java 8 中的 `LocalDate` 类和 `DayOfWeek` 枚举类型,循环遍历指定时间范围内的所有日期,并通过 `getDayOfWeek()` 方法获取每个日期对应的星期几。最后将所有结果输出到控制台。

需要注意的是,在本程序中,我们没有做任何错误处理,例如输入的起始和结束年份必须合法、超出日期范围的日期会被自动忽略等等情况需要根据实际需求进行适当处理。
参考技术A public static void main(String[] args)
for (int i = 0; i < 4; i++)
String datestr = "202"+(i+3)+"-01-01";
Date date = null;
if (datestr != null)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try
date = sdf.parse(datestr);
catch (ParseException e)
e.printStackTrace();


Calendar cal = Calendar.getInstance();
cal.setTime(date);
switch (cal.get(Calendar.DAY_OF_WEEK))
case 1:
System.out.println(datestr + "周日");
break;
case 2:
System.out.println(datestr + "周一");
break;
case 3:
System.out.println(datestr + "周二");
break;
case 4:
System.out.println(datestr + "周三");
break;
case 5:
System.out.println(datestr + "周四");
break;
case 6:
System.out.println(datestr + "周五");
break;
case 7:
System.out.println(datestr + "周六");
break;


以上是关于java代码问题。老师让写段代码输入字符显示星期几。代码如下:的主要内容,如果未能解决你的问题,请参考以下文章

java编程打印大学四年的生日都是星期几?

java怎样通过日期获取星期几?

Python3 输入日期显示星期几

php输出星期几

在我的 Java 代码中查找最大值和最小值

帮编写 java 获取星期几