Class.getResource("")??? 返回的是當(dāng)前Class這個(gè)類所在包開(kāi)始的位置
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),富順網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:富順等地區(qū)。富順做網(wǎng)站價(jià)格咨詢:18980820575
舉例
URL?url?=?XXXX.class.getResource("");
System.out.println(url);
//輸出file:/D:/space/workspace/JDK8/bin/a/
所以a文件下的圖片?不需要寫?/1.jpg??而直接寫?1.jpg
URL?url?=?XXXX.class.getResource("1.jpg");
ImageIcon對(duì)象的構(gòu)造方法很多
比如寫圖片路徑來(lái)構(gòu)造
相對(duì)路徑的寫法
ImageIcon?icon?=?new?ImageIcon("src\\a\\50.png");
完整路徑,
ImageIcon?icon?=?new?ImageIcon("D:\\space\\workspace\\JDK8\\src\\a\\50.png");
使用完整路徑,可以加載電腦上的其他位置的圖片
比如??ImageIcon?icon?=?new?ImageIcon("c:\\50.png");
在圖片上右鍵單擊------選擇Properties-------彈出對(duì)話框里有Location信息
這個(gè)信息就是完整路徑
根據(jù)你下面的代碼我判斷你這A、B、C應(yīng)該是String類型的
String類型要判斷是否相等是用equalsIgnoreCase("String")
所有這個(gè)if語(yǔ)句應(yīng)該這么寫
String A="A";
String B="B";
String C="C";
if((A.equalsIgnoreCase("a") B.equalsIgnoreCase("B"))||(A.equalsIgnoreCase("A") C.equalsIgnoreCase("C"))){
b=true;
break;
}else{
}
package com.date;
public class DateDome {
private int year=0;//年
private int month=0;//月
private int day=0;//日
public DateDome(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
public DateDome(){
}
//年大于等于0
public boolean isYear(){
boolean suc=false;
if(year0)return suc;
else if(year=0)suc=true;
return suc;
}
//判斷月數(shù)1-12月
public boolean isMonth(){
boolean suc=false;
if(month0||month12)return false;
else suc=true;
return suc;
}
//判斷天數(shù)1-31號(hào)
public boolean isDay(){
boolean suc=false;
if(day=0||day31)return suc;
else suc=true;
return suc;
}
//是否為閏年
public boolean isRunNian(int year){
boolean suc=false;
if(year=0){
if(year%400==0||(year%4==0year%100!=0)){
suc=true;
}
}
return suc;
}
//判斷合法年月日
public boolean isInvaildate(int year,int month, int day){
boolean suc=false;
if(isYear()isMonth()isDay()){
switch(month){
case 1:
suc=true;
break;
case 2:
if(isRunNian(year)day=29){
suc=true;
}else if(day=28){
suc=true;
}
break;
case 3:
suc=true;
break;
case 4:
if(day=30)suc=true;
break;
case 5:
suc=true;
break;
case 6:
if(day=30)suc=true;
break;
case 7:
suc=true;
break;
case 8:
suc=true;
break;
case 9:
if(day=30)suc=true;
break;
case 10:
suc=true;
break;
case 11:
if(day=30)suc=true;
break;
case 12:
suc=true;
break;
}
}
return suc;
}
//根據(jù)日期得到天數(shù)
public int getDaysByDate(int year,int month,int day){
int days=0;
if(isInvaildate(year,month,day)){
for(int i=0;iyear;i++){
if(isRunNian(i)){
days+=366;
}else{
days+=365;
}
}
for(int i=1;imonth;i++){
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){
days+=31;
}else if(i==4||i==6||i==9||i==11){
days+=30;
}else if(i==2){
if(isRunNian(year)){
days+=29;
}else{
days+=28;
}
}
}
days+=day-1;
return days;
}else{
System.out.println("處理有非法日期?。。?);
return -1;
}
}
//根據(jù)天數(shù)得到日期數(shù)int[]由,年、月、日組成的數(shù)組
public int[] getDateByDays(int days){
int das=0;//預(yù)計(jì)的天數(shù)
int y=0,m=1,d=1;//0年1月1號(hào)
int[] date=new int[3];
boolean suc=true;
int temp=0;
if(days0){
System.out.println("請(qǐng)輸入合法天數(shù)?。?!");
return new int[]{0,0,0};
}
while(suc){
if(isRunNian(y)){
temp=366;
}else{
temp=365;
}
das+=temp;
if(dasdays){
y++;
}else{
das-=temp;
break;
}
}
while(suc){
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
temp=31;
}else if(m==4||m==6||m==9||m==11){
temp=30;
}else if(m==2){
if(isRunNian(y)){
temp=29;
}else{
temp=28;
}
}
das+=temp;
if(dasdays){
m++;
}else{
das-=temp;
break;
}
}
d=days-das+1;
date[0]=y;
date[1]=m;
date[2]=d;
return date;
}
//得到多少天前或后合法日期
public int[] addORsubDay(int dd){
int days=getDaysByDate(year,month,day);
if(days=0){
days+=dd;
if(days0){
return getDateByDays(days);
}else{
System.out.println("處理日期不能小于0年1月1號(hào)");
return new int[]{0,0,0};//代表無(wú)效日期
}
}else{
System.out.println("處理日期不能小于0年1月1號(hào)");
return new int[]{0,0,0};//年,月,日
}
}
//得到兩個(gè)日期相距天數(shù)
public int TwoDate(int[] date1,int[] date2){
int d=-1;
if(isInvaildate(date1[0],date1[1],date1[2])isInvaildate(date2[0],date2[1],date2[2])){
int days1=getDaysByDate(date1[0],date1[1],date1[2]);
int days2=getDaysByDate(date2[0],date2[1],date2[2]);
d=days1-days2;
return d=0?d:-d;
}else
{
System.out.println("處理有非法日期!?。?);
return d;
}
}
}
我寫了你提出的功能,你還可以擴(kuò)展其它功能。
作為一個(gè)Java開(kāi)發(fā)攻城獅(lao si ji),我可以負(fù)責(zé)任地告訴你,多看多寫~
首先,鑒于題主你說(shuō)你是剛接觸地階段,我并不推薦你你上來(lái)就要寫工業(yè)級(jí)或者企業(yè)級(jí)的代碼,當(dāng)下的話應(yīng)該是迅速積累項(xiàng)目經(jīng)驗(yàn),快速掌握java web的開(kāi)發(fā)流程為主,可以網(wǎng)上看看什么視頻教程,有些還是能學(xué)到規(guī)范的。
分享一下我的經(jīng)歷吧~
讀大學(xué)的時(shí)候我接一些外包【朋友介紹】,一開(kāi)始也很虛啊,覺(jué)得這里不對(duì),那里不對(duì)的。寫得多了,慢慢理解整個(gè)開(kāi)發(fā)流程后,就覺(jué)得也就是增刪改查嘛,沒(méi)什么的。每次都要寫,好麻煩啊,既然這樣,不如自己造一些輪子,后來(lái)就是項(xiàng)目多了,又造了一些輪子,然后做了系列的封裝。期間穿插讀了 重構(gòu)和effective java兩本書,代碼方法保持整潔,但一些代碼上還是不規(guī)范。
再后來(lái),學(xué)習(xí)了java的一些高級(jí)特性,反射、自省【提高了寫代碼250%的效率】以及參考了部分阿里的規(guī)范,感覺(jué)逐漸能寫出比以前看上去優(yōu)雅的代碼了。
接下來(lái)的一段時(shí)間,因?yàn)榕d趣的原因,研究了一下三大框架,自己強(qiáng)行擼了三個(gè)閹割版?;厝タ丛创a的時(shí)候,發(fā)現(xiàn)spring寫得真的太優(yōu)雅了,然后又小小改了一下風(fēng)格。
最后,出來(lái)工作了,哦謝特~ 大家寫得什么鬼啊~ 什么規(guī)范都不參照~ 簡(jiǎn)直內(nèi)心爆炸,一萬(wàn)點(diǎn)傷害~ 好吧,我還是照著我原先的思路,搞一搞~
所以說(shuō),工業(yè)級(jí)、企業(yè)級(jí)代碼不是每個(gè)公司都有,但是對(duì)自身有要求是好事啊~ 你也別急,慢慢寫,也能逐漸規(guī)范起來(lái)~ 只是現(xiàn)在,不合適~ 加油~
還有問(wèn)題的話,歡迎聯(lián)系我~
線段類,需要2個(gè)私有變量,即表示線段的2個(gè)點(diǎn)的坐標(biāo)(坐標(biāo)是否要在寫個(gè)坐標(biāo)類,包括x,y的坐標(biāo),也可以建立4私有變量,自己考慮)
方法1可以寫在類中就是傳入一個(gè)線段類,判斷和當(dāng)前類是否平行
方法2是線段的斜率,通過(guò)2個(gè)點(diǎn)計(jì)算斜率
方法3是線段的長(zhǎng)度
首先要算出斜率,因?yàn)槠叫信袛嘤玫?/p>
斜率計(jì)算可以先用2個(gè)點(diǎn)的坐標(biāo)相-,得到類似一個(gè)在坐標(biāo)原點(diǎn),一個(gè)在區(qū)間,然后用在區(qū)間的店的x,y的坐標(biāo)計(jì)算(如果2個(gè)點(diǎn)是0,0 5,5,那么斜率是45度)
長(zhǎng)度計(jì)算很簡(jiǎn)單,用勾股定理
最后的判斷平行就利用斜率就好了
希望思路對(duì)你有幫助
真異或真為假,假異或假為假 || 真異或假為真,假異或真為真
--------------------------------------------------------------------------------------------
a^ b^ a=a--------這個(gè)命題是成立的
--------------------------------------------------------------------------------------------
在下例中小寫a,b都是指向原始值,大寫指向當(dāng)前值
a=a ^ b;(這里記作條件),并記作:第一步這里"b"還是原來(lái)的"b"只是"a"變成a ^ b記作A
---------------------------------
根據(jù)上面的命題,應(yīng)該不難推出:
果讓b=原來(lái)的"a",可以讓現(xiàn)在的"A" : a ^ b "^" b即:A^b=a ^ b^b=a
不難看出b的值已經(jīng)等于原來(lái)的a了記作B=a
經(jīng)過(guò)上面的異或運(yùn)算,現(xiàn)在的B已經(jīng)是原來(lái)的a了.而現(xiàn)在的A還是a ^ b
----------------------------------------------------------------
當(dāng)前B=a 當(dāng)前 A=a ^ b
要得到原來(lái)的a等于原來(lái)的b.看上面兩個(gè)等式不難推出
可以讓A=B^A=a ^ b^ a 的結(jié)果賦值給A,改變當(dāng)前A的值
此時(shí)B=a A=b
固:ab交換
1:a=a ^ b;
2:b=a ^ b;
3:a=a ^ b;;
或者
b=a ^ b;
a=a ^ b;
b=a ^ b;