導航:首頁 > 編程語言 > java單開一個方法

java單開一個方法

發布時間:2024-03-18 08:16:54

『壹』 求救:使用java開發一個方法:將一個字元串中的英文空格和逗號替換為中文空格和逗號,感激不盡

首先,空格沒有中英文之分

逗號的話就這樣吧

自己定義版一個String a=",";//中文逗號

String b="ffff,saaa,ssss";

b = b.replaceAll(",", a);

publicclassT{
權publicstaticvoidmain(String[]args){
Stringa=",";
Stringb="ffff,saaa,ssss";
System.out.println(b);
b=b.replaceAll(",",a);
System.out.println(b);
}
}
//運行結果
//ffff,saaa,ssss
//ffff,saaa,ssss

『貳』 java編寫一個簡單的輸入生日計算下一個生日時間的代碼

import java.util.Calendar;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;

/**
* Title: Test03.java<br>
* Description:
*
* @author 王凱芳
* @date 2020年3月5日 下午6:03:04
* @version 1.0
*
* @request 編寫一個方法能計算任何一個人今天離他最近下一次生日還有多少天,然後在主方法(main方法)中輸入你的出生年月日,調用該方法的計算結果並輸出信息「某某同學離自己最近下一次生日x天」。
*/
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請輸入你的姓名:");
String name = sc.nextLine();
System.out.println("請輸入你的生日,格式為(2000/01/01):");
String line = sc.nextLine();
String[] strs = line.split("/");
if (strs.length == 3) {
int days = getDays(strs[0], strs[1], strs[2]);
if (days == 0) {
System.out.println(String.format("%s 同學,今天是你的生日,祝你生日快樂(#^.^#)", name, days));
} else {
System.out.println(String.format("%s 同學離自己最近下一次生日%d天。", name, days));
}
} else {
System.out.println("生日輸入不正確!請按格式輸入。");
}
sc.close();
}

/**
* 獲取最近一次生日天數
*
* @param year
* @param month
* @param day
* @return
*/
public static int getDays(String year, String month, String day) {
Calendar now = Calendar.getInstance();
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
now.set(Calendar.MILLISECOND, 0);
int now_year = now.get(Calendar.YEAR);
Calendar birthday = Calendar.getInstance();
birthday.set(Calendar.YEAR, now_year);
birthday.set(Calendar.MONTH, Integer.parseInt(month) - 1);
birthday.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day));
birthday.set(Calendar.HOUR_OF_DAY, 0);
birthday.set(Calendar.MINUTE, 0);
birthday.set(Calendar.SECOND, 0);
birthday.set(Calendar.MILLISECOND, 0);
long diff = now.getTimeInMillis() - birthday.getTimeInMillis();
if (diff == 0) {
return 0;
} else if (diff < 0) {
long diffDays = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
return Math.abs((int) diffDays);
} else {
birthday.add(Calendar.YEAR, 1);
long diffMi = birthday.getTimeInMillis() - now.getTimeInMillis();
long diffDays = TimeUnit.DAYS.convert(diffMi, TimeUnit.MILLISECONDS);
return (int) diffDays;
}
}
}

『叄』 Java中的一個類怎麼調用另一個類中的方法

//先定義一個類

(3)java單開一個方法擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

『肆』 如何寫一個簡單的單例模式

一、基本的實現思路:

單例的實現主要是通過以下兩個步驟:

1、將該類的構造方法定義為私有方法,這樣其他處的代碼就無法通過調用該類的構造方法來實例化該類的對象,只有通過該類提供的靜態方法來得到該類的唯一實例;

2、在該類內提供一個靜態方法,當我們調用這個方法時,如果類持有的引用不為空就返回這個引用,如果類保持的引用為空就創建該類的實例並將實例的引用賦予該類保持的引用。

二、示範如下:

1、枚舉實現單例:

(4)java單開一個方法擴展閱讀:

一、單列模式簡介:

單例模式是設計模式中最簡單的形式之一。這一模式的目的是使得類的一個對象成為系統中的唯一實例。要實現這一點,可以從客戶端對其進行實例化開始。因此需要用一種只允許生成對象類的唯一實例的機制,「阻止」所有想要生成對象的訪問。使用工廠方法來限制實例化過程。這個方法應該是靜態方法(類方法),因為讓類的實例去生成另一個唯一實例毫無意義。

二、懶漢與餓漢:

1、懶漢方式:指全局的單例實例在第一次被使用時構建。

2、餓漢方式:指全局的單例實例在類裝載時構建。

三、單例模式的三要點:

1、某個類只能有一個實例。

2、它必須自行創建這個實例。

3、它必須自行向整個系統提供這個實例。

四、優缺點:

1、優點:

①實例控制:單例模式會阻止其他對象實例化其自己的單例對象的副本,從而確保所有對象都訪問唯一實例。

②靈活性:因為類控制了實例化過程,所以類可以靈活更改實例化過程。

2、缺點:

①開銷:雖然數量很少,但如果每次對象請求引用時都要檢查是否存在類的實例,將仍然需要一些開銷。可以通過使用靜態初始化解決此問題。

②可能的開發混淆:使用單例對象(尤其在類庫中定義的對象)時,開發人員必須記住自己不能使用new關鍵字實例化對象。因為可能無法訪問庫源代碼,因此應用程序開發人員可能會意外發現自己無法直接實例化此類。

③對象生存期:不能解決刪除單個對象的問題。在提供內存管理的語言中(例如基於.NET Framework的語言),只有單例類能夠導致實例被取消分配,因為它包含對該實例的私有引用。在某些語言中(如 C++),其他類可以刪除對象實例,但這樣會導致單例類中出現懸浮引用。

『伍』 如何寫一個標準的Java單例模式

java中單例模式是一種常見的設計模式,單例模式分三種:懶漢式單例、餓漢式單例、登記式單例三種。
單例模式有一下特點:
1、單例類只能有一個實例。
2、單例類必須自己自己創建自己的唯一實例。
3、單例類必須給所有其他對象提供這一實例。
單例模式確保某個類只有一個實例,而且自行實例化並向整個系統提供這個實例。在計算機系統中,線程池、緩存、日誌對象、對話框、列印機、顯卡的驅動程序對象常被設計成單例。這些應用都或多或少具有資源管理器的功能。每台計算機可以有若干個列印機,但只能有一個Printer Spooler,以避免兩個列印作業同時輸出到列印機中。每台計算機可以有若干通信埠,系統應當集中管理這些通信埠,以避免一個通信埠同時被兩個請求同時調用。總之,選擇單例模式就是為了避免不一致狀態,避免政出多頭。
首先看一個經典的單例實現。
public class Singleton {
private static Singleton uniqueInstance = null;

private Singleton() {
// Exists only to defeat instantiation.
}

public static Singleton getInstance() {
if (uniqueInstance == null) {
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
// Other methods...
}
Singleton通過將構造方法限定為private避免了類在外部被實例化,在同一個虛擬機范圍內,Singleton的唯一實例只能通過getInstance()方法訪問。(事實上,通過Java反射機制是能夠實例化構造方法為private的類的,那基本上會使所有的Java單例實現失效。此問題在此處不做討論,姑且掩耳盜鈴地認為反射機制不存在。)
但是以上實現沒有考慮線程安全問題。所謂線程安全是指:如果你的代碼所在的進程中有多個線程在同時運行,而這些線程可能會同時運行這段代碼。如果每次運行結果和單線程運行的結果是一樣的,而且其他的變數的值也和預期的是一樣的,就是線程安全的。或者說:一個類或者程序所提供的介面對於線程來說是原子操作或者多個線程之間的切換不會導致該介面的執行結果存在二義性,也就是說我們不用考慮同步的問題。顯然以上實現並不滿足線程安全的要求,在並發環境下很可能出現多個Singleton實例。

//////////////////////////////////////////////////////////////////////
驗證單例模式的示例
//////////////////////////////////////////////////////////////////////
public class TestStream {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 該類只能有一個實例
private TestStream() {
} // 私有無參構造方法
// 該類必須自行創建
// 有2種方式

private static TestStream ts1 = null;
// 這個類必須自動向整個系統提供這個實例對象
public static TestStream getTest() {
if (ts1 == null) {
ts1 = new TestStream();
}
return ts1;
}
public void getInfo() {
System.out.println("output message " + name);
}
public static void main(String[] args) {
TestStream s = TestStream.getTest();
s.setName("張孝祥 1");
System.out.println(s.getName());
TestStream s1 = TestStream.getTest();
s1.setName("張孝祥 2");
System.out.println(s1.getName());
s.getInfo();
s1.getInfo();
if (s == s1) {
System.out.println("創建的是同一個實例");
} else if (s != s1) {
System.out.println("創建的不是同一個實例");
} else {
System.out.println("application error");
}
}
}
////////////////////////////////////////////

『陸』 java:一個類實現某個介面的時候可不可以只實現這個介面中的部分方法,還是必須實現介面中的全部方法呢

必須實現全部方法
但是你可以這樣做
你先用一個類實現這個介面
但是在這個類中方法都是空的{}這樣
然後你可以繼承這個類
用新的方法來覆蓋那些空的方法
在GUI編程中有一個適配器的概念
就是這樣的

閱讀全文

與java單開一個方法相關的資料

熱點內容
java將字元串轉換為整型 瀏覽:175
win7批量修改部分文件名 瀏覽:873
win8需要升級到win10么 瀏覽:85
大數據在海關的運用 瀏覽:38
android使用javamail 瀏覽:3
win10快速訪問共享文件 瀏覽:259
喜馬拉雅電腦文件導出 瀏覽:615
js取商運算 瀏覽:719
幼兒編程貓是什麼 瀏覽:347
dnf哪個網站補丁 瀏覽:646
iphone自動關機能打通 瀏覽:794
怎麼連接伺服器資料庫 瀏覽:907
大數據時代羅輯思維 瀏覽:827
聯想y50pwin10開機速度 瀏覽:236
網路游戲對我們的身體有什麼壞處 瀏覽:950
電腦接觸不良文件 瀏覽:689
星成大海是哪個app可以看 瀏覽:418
施耐德plc編程軟體哪個好用 瀏覽:680
網路k歌什麼麥 瀏覽:653
java創建oracle存儲過程 瀏覽:84

友情鏈接