如何打印字符串 java 中 ASCII 值的最大和最小个数

How do you print the highest and smallest number of ASCII value in string java

找到了,谢谢大佬。昨天我其实太糊涂了,直到我忘记了我学到的一切。所以这是我的代码,你觉得怎么样?

我只是不知道为什么当我删除这段代码时我的 minChar 不工作:

if(stringValue.charAt(i) != 32){
    public class MyString {
    
        public static void main(String[] args) {
            
            String stringValue = "Hello World";
            SearchMyString str = new SearchMyString(stringValue);
            str.stringInfo();
            
        }  
    }
    
    class SearchMyString{
        
        private char maxChar;
        private char minChar;
        String stringValue;
        int ascii;
        
        public SearchMyString(String stringValue){
            this.stringValue = stringValue;
        }
        
        char getMinChar(String stringValue, int n){
            minChar = 'z';
    
            for(int i = 0;i<n-1;i++){
                if(stringValue.charAt(i)<minChar){
                    if(stringValue.charAt(i) != 32){
                    minChar = stringValue.charAt(i);
                    ascii = (int)stringValue.charAt(i);
                    }
                }
            }
            return minChar;
        }
            
        public void stringInfo(){
            
            int size = stringValue.length();

            System.out.println("Smallest char : "+getMinChar(stringValue,size) + "\tASCII : " + ascii);
            
        }
    }

使用这个方法:

public static char getMaxChar(String a){
       char max = a.charAt(0); 
        for (int i=0; i<a.length(); i++){
            if ((a.charAt(i) > max)){ 
                max = a.charAt(i);  
            }
        }
        return max; 
    }

测试用例:

ACBDEFG

Returns

G

那么我们改变了什么?

对于初学者来说,如果我们试图获取字符串中具有最高 char int 值的字符,我们不需要 n。我们正在遍历字符串,所以我们需要的只是长度,它已经可以由 .length() 方法提供。

要调用该方法,只需执行以下操作:

SearchMyString search = new SearchMyString();
search.getMaxChar(nama);

编辑: 所以为了使方法更可靠,我们可以将它设置为第一个字符,而不是自动将 max 设置为 'A' a(例如,a.charAt(0)