c++javaWord下载.docx
- 文档编号:18738521
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:47
- 大小:29.08KB
c++javaWord下载.docx
《c++javaWord下载.docx》由会员分享,可在线阅读,更多相关《c++javaWord下载.docx(47页珍藏版)》请在冰豆网上搜索。
j>
=i;
j--)
if(item[j-1]>
item[j])
{
t=item[j-1];
item[j-1]=item[j];
item[j]=t;
}
冒泡排序只对数组排序:
classT>
voidsort(T*s,intn){
Tt;
for(i=0;
n-1;
for(j=n-1;
0;
if(s[j-1]>
s[j])
t=s[j-1];
s[j-1]=s[j];
s[j]=t;
voidmain(){
inta[]={1,5,2,4,6,3};
sort(a,6);
a[i]<
"
选择排序:
inti,j,k;
i++){
k=i;
for(j=i+1;
j<
n;
j++)
if(s[k]<
k=j;
if(k!
=i){
t=s[k];
s[k]=s[i];
s[i]=t;
}
}voidmain(){
计算今天是该年的第几天:
intsum_day(int,int),leap(int);
intyear,month,day;
请输入一个日期(yyymmdd):
cin>
>
year>
month>
day;
intdays=sum_day(month,day);
if(leap(year)&
&
2)
days++;
是这一天的第"
days<
天\n"
intsum_day(intmonth,intday)
staticintdays_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(inti=1;
month;
day+=days_month[i];
returnday;
intleap(intyear)
intleap=year%4==0&
year%100!
=0||year%400==0;
returnleap;
输入两个日期计算它们相隔多少天:
classTPoint{
public:
TPoint(inta,intb,intc);
intsum_day();
intleap();
private:
};
TPoint:
:
TPoint(inta,intb,intc){
year=a;
month=b;
day=c;
intTPoint:
sum_day()
staticinta[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
day=a[i]+day;
leap()
inty,m,d;
inty1,m1,d1;
intsum=0,t;
请输入一个年份:
y>
m>
d;
TPointtoday(y,m,d);
intdays=today.sum_day();
if(today.leap()&
days+=1;
他是这一年的第"
天"
请输入下一个年份:
y1>
m1>
d1;
TPointtodays(y1,m1,d1);
intdays1=todays.sum_day();
if(todays.leap()&
days1+=1;
days1<
for(intn=y;
y1;
{
if(n%4==0&
n%100!
=0||n%400==0)
sum+=366;
else
sum+=365;
t=sum+days1-days;
它们中间相隔"
t<
输入日期输出当天的星期号:
intyear,month,day,i;
floats;
cout<
cin>
intdays=sum_day(month,day);
if(leap(year)&
days++;
//cout<
s=float(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+days);
i=(int)s%7;
if(true)
switch(i)
case0:
今天是星期天"
break;
case1:
今天是星期一"
case2:
今天是星期二"
case3:
今天是星期三"
case4:
今天是星期四"
case5:
今天是星期五"
case6:
今天是星期六"
staticintdays_month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(inti=1;
day+=days_month[i];
returnday;
intleap=year%4==0&
returnleap;
二进制转化为十进制:
doublepower(doublex,intn);
inti;
intvalue=0;
charch;
Enteran8bitbinarynumber:
for(i=7;
i>
=0;
i--)
cin>
ch;
if(ch=='
1'
)
value+=int(power(2,i));
Decimalvalueis"
value<
doublepower(doublex,intn)
doubleval=1.0;
while(n--)
val*=x;
returnval;
十进制转化为二进制:
#include<
voidreverse(chars[]);
charbin[20];
intn,i=0;
输入一个整数:
do{
bin[i++]=n%2+'
0'
}while((n/=2)!
=0);
bin[i]='
\0'
reverse(bin);
对应的二进制:
bin<
voidreverse(chars[])
inttemp,i,j;
for(i=0,j=strlen(s)-1;
j;
i++,j--)
temp=s[i];
s[i]=s[j];
s[j]=temp;
十进制转化为任意进制:
voiditob(intn,chars[],intb)
inti=0,sign,t;
if((sign=n)<
0)
n=-n;
while(n>
t=n%b;
if(t>
=10)
s[i++]=t-10+'
A'
s[i++]=t+'
n=n/b;
if(sign<
s[i--]='
-'
s[i]='
charstr[100];
intn,base;
输入整数和基:
n>
base;
itob(n,str,base);
reverse(str);
转换结果:
<
==>
base<
Java
(一)this的用法
运行下面的程序,写出实验结果。
程序1:
this作为函数的返回值。
publicclassLeaf{
inti=0;
Leafincrement(){
i++;
returnthis;
voidprint(){
System.out.println("
i="
+i);
publicstaticvoidmain(String[]args){
Leafx=newLeaf();
x.increment().increment().increment().increment().increment().print();
}
程序2:
this用来区分当前作用域中同名的不同变量。
classThisTest1
intx;
publicThisTest1(intx){
this.x=x+1;
publicstaticvoidmain(String[]args)
ThisTest1t=newThisTest1(5);
System.out.println(t.x);
程序3:
在一个构造方法中调用另外一个构造方法。
classThisTest2
intx,y;
publicThisTest2(intx,inty){
this.x=x;
this.y=y;
}
publicThisTest2(intx){
this(x,3);
ThisTest2t=newThisTest2
(1);
System.out.println("
t.x="
+t.x);
t.y="
+t.y);
可变参数列表及foreach语法练习
创建一个String类型的数组,并为每个元素赋值一个String,然后用foreach语法输出该数组。
(StringArray.java)
publicclassStringArray{
publicstaticvoidmain(String[]args){
String[]s={"
one"
two"
three"
four"
five"
};
for(Stringa:
s){
System.out.print(a+"
);
创建一个类:
InitString,它有一个接受一个String参数的构造器,在构造器中打印该参数。
在InitStringTest类的main函数中创建InitString类型的数组,长度为[0,10]的任意整数,并用for循环为其赋值,然后用foreach语法输出该数组。
(InitStringTest.java)
importjava.util.*;
classInitString{
InitString(Strings){
System.out.println(s);
publicStringtoString(){
return"
IamInitString"
publicclassInitStringTest{
Randomrand=newRandom(47);
InitString[]it=newInitString[rand.nextInt(11)];
for(inti=0;
i<
it.length;
i++)
it[i]=newInitString("
ok"
for(InitStrings:
it)
System.out.print(s+"
VarargString,在该类中定义一个静态函数,该函数可接受一个可变参数的String数组。
并在main函数中调用该函数,传递一个用逗号分隔的String列表,或者传递一个String类型的数组。
(VarargString.java)
publicclassVarargString{
staticvoidshowStrings(String...args){
for(Strings:
args)
System.out.print(s+"
System.out.println();
showStrings("
"
TWO"
showStrings(newString[]{"
1"
2"
3"
4"
});
创建一个enum,它包含星期一到星期日等7个值。
通过foreach语法打印每个值及其ordinal()。
(EnumTest.java)
enumWeek{
MONDAY,TUESDAY,WEDNESDAY,TURSDAY,FRIDAY,SATURDAY,SUNDAY
publicclassEnumTest{
for(Weekw:
Week.values())
System.out.println(w+"
ordinal"
+w.ordinal());
}
创建一个使用可变参数列表的main()。
并在main()中打印args数组中的所有元素,并用各种不同数量的命令行参数进行测试。
(VarargString2.java)
publicclassVarargString2{
publicstaticvoidmain(String...args){
为(4)中的enum写一个switch语句,对于每一个case,输出一行字符串。
(EnumTest2.java)
publicclassEnumTest2{
Weekw;
for(Weekw:
Week.values()){
switch(w){
caseMONDAY:
Todayismonday"
break;
caseTUESDAY:
Todayistuesday"
caseWEDNESDAY:
Todayiswednesday"
caseTURSDAY:
Todayistursday"
caseFRIDAY:
Todayisfriday"
caseSATURDAY:
Todayissaturday"
caseSUNDAY:
Todayissunday"
default:
}
访问权限
(1)完善下列程序,并通过下列程序测试类成员的访问权限,最后完成表格。
程序一:
packagejin;
publicclassAccess{
publicinti=1;
privateintj=2;
protectedintm=3;
intn=4;
程序二:
publicclassTestOne{
publicstaticvoidmain(String[]args){
//编写“相同包中的非子类中被访问”的测试代码:
Accessa=newAccess();
System.out.println(a.i);
System.out.println(a.j);
System.out.println(a.m);
System.out.println(a.n);
程序三:
publicclassTestTwoextendsAccess{
/*编写“相同包中的子类中被访问”和“被相同包中的子类继承后直接访问”的测试代码:
*/
//相同包中的子类中被访问
//被相同包中的子类继承后直接访问
TestTwoa=newTestTwo();
程序四:
packagejzx;
importjin.Access;
publicclassTestThree{
//编写“不相同包中的非子类中被访问”的测试代码:
程序五:
publicclassTestFourextendsAccess{
publicstaticvoidmain(String
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java