buf.append(str.charAt(num));--含义

本文解释了如何使用charAt(i)方法遍历字符串并比较字符,通过将字符转换为ASCII码值来计数特定数字出现的次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

append 附加的意思



if(s.charAt(i)-'0'==digit) 这个是什么意思?

回答:
charAt(i)取i位置的字符 放在for循环里 把字符串遍历,取每个字符 。
s.charAt(i)-'0' 是去取字符的uincode值, digit整型对应的也是个字符。

这段代码就是计算出unicode值是digit的字符的个数。

加上单引号的:‘0’代表一个字符;
s.charAt(i)方法:返回指定索引位置的字符;
s.charAt(i)-'0':两个字符相减实际上是ASCII码对应的数相减;
s.charAt(i)-'0'==digit:也就是s.charAt(i)-'0'的结果对应的ASCII码值(整数)与 digit(整数)是否相等。
这段程序的作用 为:判断给定的一组长整数中包含对少个给定的整数,比如12311中有多少个1,返回值为:3。

package com.zhenqi.util; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import flexjson.JSONDeserializer; /** * 开采API http://www.opencai.net/apifree/ * @author wuming * */ public class OpenCaiUtil { private static final String SHUANGSEQIU_URL="http://f.apiplus.net/ssq.json"; public static String shuangSeQiu(String keyWord) throws Exception{ SSLContext sslcontext = SSLContext.getInstance("TLS"); sslcontext.init(null, new TrustManager[] { myX509TrustManager }, null); StringBuffer buf=new StringBuffer(); if("双色球".equals(keyWord)){ URL url=new URL(SHUANGSEQIU_URL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); if (conn instanceof HttpsURLConnection) { ((HttpsURLConnection) conn).setSSLSocketFactory(sslcontext.getSocketFactory()); } conn.setConnectTimeout(10000); // 设置相应超时 conn.setRequestMethod("GET"); int statusCode = conn.getResponseCode(); if (statusCode != HttpURLConnection.HTTP_OK) { System.out.println("Http错误码:" + statusCode); } //URLConnection open = url.openConnection(); InputStream input = conn.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8")); StringBuffer stringBuffer = new StringBuffer(); String line = null; while ((line = reader.readLine()) != null) { stringBuffer.append(line); } reader.close(); input.close(); conn.disconnect(); JSONDeserializer<Map<String,Object>> json = new JSONDeserializer<Map<String,Object>>(); Map<String,Object> map = json.deserialize(stringBuffer.toString()); List<Map<String,Object>> list_result = (List<Map<String, Object>>) map.get("data"); for(int j=0;j<list_result.size();j++){ Map<String,Object> res_map=list_result.get(j); String expect=res_map.get("expect").toString(); String opencode=res_map.get("opencode").toString(); String opentime=res_map.get("opentime").toString(); buf.append("第"); buf.append(expect); buf.append("期开奖结果\n"); buf.append("开奖日期:"); buf.append(opentime); buf.append("\n"); buf.append(opencode); buf.append("\n\n"); } }else{ buf.append("该【"); buf.append(keyWord); buf.append("】彩票种类正在完善中……,敬请期待!"); } return buf.toString(); } private static TrustManager myX509TrustManager = new X509TrustManager() { @Override public X509Certificate[] getAcceptedIssuers() { return null; } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } }; }
最新发布
03-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值