java列印字元串
1. java怎麼列印字元串的地址
toString()列印的不是對象的內存地址。而是類名@hashcode十六進制後的值。
java中的一切類都直接或間接繼承了父類Object,而String重寫了父類Object的toString()方法,返回的是this,是它自己本身。
你看Object中的toString();是怎麼寫的?你用引用名.getClass().getName()+"@"+Integer.toHexString(引用名.hashCode()),因為hashcode不同,對象一定不同。如果hashcode相同,對象不一定相同。
hashcode其實是內存地址對應的數值經過hash演算法得到的值,通過hashcode只能確定對象放在散列結構的某一層,但是這一層有很多個對象,不能確定到具體地址。
2. Java中,怎麼列印出一個字元串的所有排列
在Java中,生成一個字元串的所有可能排列可以通過遞歸演算法輕松實現。核心步驟是將字元串分為兩部分:首字元和剩餘字元,然後對首字元與剩餘部分中的每個字元進行依次交換,並對剩餘部分進行遞歸操作。這樣,每次遞歸都會生成一個新的排列組合。下面是通過Java代碼展示的實現過程:
首先,創建一個名為printPermutations的函數,它接收一個字元數組作為輸入。函數從索引index開始,通過遞歸實現排列生成。在每次迭代中,它會交換arr[index]與arr[index+1],然後遞歸處理arr從index+2到末尾的子數組。
當index等於字元串長度減一,意味著完成了一個完整的排列,這時將當前arr轉換為字元串並輸出。為了確保每次遞歸後能回溯到原始順序,我們需要在交換後將字元恢復原位,再進行下一輪遞歸。
盡管這種方法直觀且易於理解,但它的時間復雜度較高,存在重復計算。對於較長的字元串,可能需要考慮更為高效的排列演算法,如使用動態規劃等技術,以減少重復計算,提高效率。但對短字元串而言,遞歸方法已經足夠滿足需求。
3. 用JAVA編程設定5個字元串只列印哪些以字母b開頭的串
1、新建java類,TestStr,
4. 用JAVA編寫一程序:從鍵盤輸入多個字元串到程序中,並將它們按逆序輸出在屏幕上。
代碼如下:
import java.util.Scanner;
public class ScannerDemo{
public static void main(String[] args) throws Exception{
Scanner scan=new Scanner(System.in);
System.out.println("請輸入內容:");
String str=scan.nextLine();
char[] s=str.toCharArray();
for(int i=s.length-1;i>=0;i--){
System.out.print(s[i]);}}}
(4)java列印字元串擴展閱讀
字元串
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。
兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
基本數據結構
在Java中有8種數據類型來存儲數值、字元和布爾值。
整數類型
整數型用來存儲整數數值,即沒有小數部分的數值。可以是正數,也可以是負數。整數數據在Java程序中有3種表示形式,分別為十進制、八進制和十六進制。