没必要那么麻烦,即使不用Calendar也可以用Date啊,虽然已经不被鼓励使用了
Date date = new Date() ;
datesetYear(n) ;
datesetMonth(y+1) ;
datesetDate(t) ;
Systemoutprintln(dategetDay()+1) ;
e = dategetDay()+1 ;
这样直接就获取是星期几了,e就是星期几
如果你实在是想练习一下switch的话,main函数我改了,以下:
public static void main( String[] args )
{
int d , n , y , t , x , e , a ;
n = IntegerparseInt(JOptionPaneshowInputDialog("请输入年号")) ;
y = IntegerparseInt(JOptionPaneshowInputDialog("请输入月份")) ;
t = IntegerparseInt(JOptionPaneshowInputDialog("请输入几号")) ;
d = n + (n - 1) / 4 - (n - 1) / 100 + (n - 1) / 400 ;
if ( n % 4 == 0 )
a = 28 ;
else
a = 29 ;
switch (y)
{
case 1 :
x = t - 1 ;
break ;
case 2 :
x = t + 30 ;
break ;
case 3 :
x = a + t + 30 ;
break ;
case 4 :
x = a + t + 31 + 30 ;
break ;
case 5 :
x = a + t + 31 + 30 + 30 ;
break ;
case 6 :
x = a + t + 31 + 30 + 31 + 30 ;
break ;
case 7 :
x = a + t + 31 + 30 + 31 + 30 + 30 ;
break ;
case 8 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 ;
break ;
case 9 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 ;
break ;
case 10 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 ;
break ;
case 11 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 31 ;
break ;
case 12 :
x = a + t + 31 + 30 + 31 + 30 + 30 + 31 + 31 + 30 + 30 + 31 ;
break ;
default :
x = 0 ;
break ;
}
e = (d + x) % 7 ;
if ( e == 0 )
JOptionPaneshowMessageDialog(null, "这天是星期天") ;
if ( !(e == 0) )
JOptionPaneshowMessageDialog(null, "这天是星期" + e) ;
}
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java是一个强类型语言,它允许扩展编译时检查潜在类型不匹配问题的功能。Java要求显式的方法声明,它不支持C风格的隐式声明。
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
Java的特点:
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点;下面我们来具体介绍一下:
1、简单性
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。Java还剔除了C++的 *** 作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
2、面向对象
Java语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3、分布性
Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。
网络变成软件应用的分布运载工具。Java程序只要编写一次,就可到处运行。
4、编译和解释性
Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。
在一个解释性的环境中,程序开发的标准“链接”阶段大大消失了。如果说Java还有一个链接阶段,它只是把新类装进环境的过程,它是增量式的、轻量级的过程。因此,Java支持快速原型和容易试验,它将导致快速程序开发。这是一个与传统的、耗时的“编译、链接和测试”形成鲜明对比的精巧的开发过程。
5、稳健性
Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。
Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
6、安全性
Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。
Java运行系统使用字节码验证过程来保证装载到网络上的代码不违背任何Java语言限制。这个安全机制部分包括类如何从网上装载。例如,装载的类是放在分开的名字空间而不是局部类,预防恶意的小应用程序用它自己的版本来代替标准Java类。
7、可移植性
Java使得语言声明不依赖于实现的方面。例如,Java显式说明每个基本数据类型的大小和它的运算行为(这些数据类型由Java语法描述)。
Java环境本身对新的硬件平台和 *** 作系统是可移植的。Java编译程序也用Java编写,而Java运行系统用ANSIC语言编写。
8、高性能
Java是一种先编译后解释的语言,所以它不如全编译性语言快。但是有些情况下性能是很要紧的,为了支持这些情况,Java设计者制作了“及时”编译程序,它能在运行时把Java字节码翻译成特定CPU(中央处理器)的机器代码,也就是实现全编译了。
Java字节码格式设计时考虑到这些“及时”编译程序的需要,所以生成机器代码的过程相当简单,它能产生相当好的代码。
9、多线程
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:
1)、使用型构为Thread(Runnable)的构造子类将一个实现了Runnable接口的对象包装成一个线程,
2)、从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
10、动态性
Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
11、平台独立性
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
JAVA程序计算素数
设计JAVA application程序,计算出20000000~300000000之间所有的素数,并将找到的素数写入primefiledat文件,
以下是一个使用Java语言编写的程序,可以计算出20000000~300000000之间所有的素数,并将找到的素数写入primefiledat文件:
javaCopy code
import javaioFileOutputStream; import javaioIOException; public class PrimeNumberCalculator { public static void main(String[] args) { int start = 20000000; int end = 300000000; String filename = "primefiledat"; try (FileOutputStream fileOutputStream = new FileOutputStream(filename)) { for (int i = start; i <= end; i++) { if (isPrime(i)) { fileOutputStreamwrite(StringvalueOf(i)getBytes()); fileOutputStreamwrite(SystemlineSeparator()getBytes()); } } } catch (IOException e) { eprintStackTrace(); } } private static boolean isPrime(int n) { if (n <= 1) { return false; } for (int i = 2; i <= Mathsqrt(n); i++) { if (n % i == 0) { return false; } } return true; } }
该程序首先定义了起始数字和终止数字,以及文件名。接下来,在main方法中,程序使用for循环迭代从start到end之间的每个数字。对于每个数字,程序调用isPrime方法来判断它是否为素数。如果是素数,程序将该数字写入文件中,每个数字占一行。
isPrime方法使用了一个简单的算法来判断一个数字是否为素数:如果数字小于或等于1,那么它不是素数。否则,程序从2开始,一直到该数字的平方根之间的每个数字进行除法运算。如果该数字能被任何一个这些数字整除,那么它不是素数。
请注意,在此程序中,我们使用了Java 7引入的"try-with-resources"语句来自动关闭文件输出流。这样可以确保即使在发生异常的情况下,文件输出流也会被正确关闭,以避免文件被损坏。
'新建窗体form1
'添加控件 DTPicker1,Command1
Private Sub Command1_Click()
Dim aa As Integer
Dim bb As Integer
Dim cc As Integer
Dim dd_xingzuo As Integer
Dim dd_shengxiao As Integer
Dim leirong As String
bb = DTPicker1Month
aa = DTPicker1Day
cc = DTPicker1Year
dd_xingzuo = (bb 100 + aa)
dd_shengxiao = cc Mod 12
If dd_xingzuo > 112 And dd_xingzuo < 221 Then
leirong = "星座:水瓶座"
End If
If dd_xingzuo >= 221 And dd_xingzuo <= 321 Then
leirong = "星座:双鱼座"
End If
If dd_xingzuo >= 322 And dd_xingzuo <= 420 Then
leirong = "星座:白羊座"
End If
If dd_xingzuo >= 421 And dd_xingzuo <= 521 Then
leirong = "星座:金牛座"
End If
If dd_xingzuo >= 522 And dd_xingzuo <= 621 Then
leirong = "星座:双子座"
End If
If dd_xingzuo >= 622 And dd_xingzuo <= 721 Then
leirong = "星座:巨蟹座"
End If
If dd_xingzuo >= 722 And dd_xingzuo <= 821 Then
leirong = "星座:狮子坐"
End If
If dd_xingzuo >= 822 And dd_xingzuo <= 921 Then
leirong = "星座:处女座"
End If
If dd_xingzuo >= 922 And dd_xingzuo <= 1021 Then
leirong = "星座:天秤座"
End If
If dd_xingzuo >= 1022 And dd_xingzuo <= 1121 Then
leirong = "星座:天蝎座"
End If
If dd_xingzuo >= 1122 And dd_xingzuo <= 1221 Then
leirong = "星座:射手座"
End If
If dd_xingzuo >= 1222 Or dd_xingzuo <= 111 Then
leirong = "星座:摩羯座"
End If
Select Case dd_shengxiao
Case 0
leirong = leirong & vbCrLf & "身肖:猴"
Case 1
leirong = leirong & vbCrLf & "身肖:鸡"
Case 2
leirong = leirong & vbCrLf & "身肖:狗"
Case 3
leirong = leirong & vbCrLf & "身肖:猪"
Case 4
leirong = leirong & vbCrLf & "身肖:鼠"
Case 5
leirong = leirong & vbCrLf & "身肖:牛"
Case 6
leirong = leirong & vbCrLf & "身肖:虎"
Case 7
leirong = leirong & vbCrLf & "身肖:兔"
Case 8
leirong = leirong & vbCrLf & "身肖:龙"
Case 9
leirong = leirong & vbCrLf & "身肖:蛇"
Case 10
leirong = leirong & vbCrLf & "身肖:马"
Case 11
leirong = leirong & vbCrLf & "身肖:羊"
End Select
MsgBox leirong, vbInformation, "计算结果"
End Sub
import javautil;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(Systemin);
Systemoutprintln("请输入性别(男,女)");
String sex = inputnext();
Systemoutprintln("请输入身高(cm)");
double height = inputnextDouble();
Systemoutprintln("请输入体重");
double weight = inputnextDouble();
if(sexequals("男")) {
if((height-105)==weight) {
Systemoutprintln("标准体重");
return;
}else if((height-105)>weight) {
Systemoutprintln("消瘦");
return;
}else if((height-105)<weight) {
Systemoutprintln("肥胖");
return;
}
}else if(sexequals("女")) {
if((height-105)==weight) {
Systemoutprintln("标准体重");
return;
}else if((height-105)>weight) {
Systemoutprintln("消瘦");
return;
}else if((height-105)<weight) {
Systemoutprintln("肥胖");
return;
}
}
}
}
你这个写法太复杂了,这就是一个几行的代码。使用calendar里面有个weekOfYear
Scanner sc = new Scanner(Systemin);Systemoutprint("请输入年份:");
int year = scnextInt();
Systemoutprint("请输入月份:");
int month = scnextInt();
Systemoutprint("请输入日:");
int day = scnextInt();
Calendar ca = CalendargetInstance();
caset(CalendarYEAR, year);
caset(CalendarMONTH, month-1);
caset(CalendarDATE, day);
Systemoutprintln(caget(CalendarDAY_OF_YEAR));
Systemoutprintln(caget(CalendarWEEK_OF_YEAR));
scclose();
以上就是关于java程序 输入年月日算星期几全部的内容,包括:java程序 输入年月日算星期几、JAVA语言介绍是什么、用java写一个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)