会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132444个问题
大数据全系列/第十四阶段:Redis 缓存数据库/Redis分布式缓存数据库 31996楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 31998楼

import java.util.Scanner;
public class ssq {
  public static void main(String[]args) {
	
	  System.out.println("******欢迎进入双色球彩票系统*****");
	  System.out.println("1、购买彩票");
	  System.out.println("2、查看开奖");
	  System.out.println("3、退出");
	  System.out.println("************");
	  System.out.println("请选择菜单:");
	  Scanner Scanner = new Scanner(System.in);
	  do {
	  int choice = Scanner.nextInt();
	  int price = 2;
	  int count = 0;
	  int totalMoney = 0;
	  boolean isBuy=false;
	  int[]num=null; 	  
	  switch(choice) {
	  case 1:
		  System.out.println("购买彩票");
		  System.out.println("需要买多少注");
		  count =Scanner.nextInt();	  
		  totalMoney =count*price;
		  num =new int[7];
		  for(int i=0;i<num.length;i++) {
			  int red;
			  int bule;
			  if(i<num.length-1) {
				  System.out.println("请选择6个红色球,第"+(i+1)+"个球号为:");
				  red =Scanner.nextInt();
				  num[i]=red;
			  }else {
				  System.out.println("请选择蓝色球:");
				  bule=Scanner.nextInt();
				  num[i]=bule;
			  }  
			  }
		  		System.out.println("您一共买了"+(count)+"注,共支付"+(totalMoney)+"元,所选号码为:");
		  		for(int m:num) {
				  System.out.print(m+"\t");
		  		}
			     System.out.println();
			     isBuy=true;
			     break;
	  	case 2:
			  System.out.println("查看抽奖");
			  if(isBuy) {
				 isBuy=false;
				  System.out.println("已买的彩票为:");
				  for(int m:num) {
					  System.out.print(m+"\t");
				  }
				  System.out.println("当期中间号码为:");
				  int[]luckNum= {1,15,14,12,17,8,9};
				  for(int h:luckNum) {
					  System.out.print(h+"\t");
					  int result = getCompareResult(num,luckNum);
					  if(result==1) {
						  System.out.println("一等奖,恭喜您!!共下了"+(count)+"注,投资"+(totalMoney)+",获奖"+(500*count)+"");
					  }else if(result==2) {
						  System.out.println("二等奖,恭喜您!!共下了"+(count)+",投资"+(totalMoney)+",获奖"+(400*count)+"");
					  }else if(result==3) {
						  System.out.println("三等奖,恭喜您!!共下了"+(count)+",投资"+(totalMoney)+",获奖"+(300*count)+"");
					  }else if(result==4) {
						  System.out.println("四等奖,恭喜您!!共下了"+(count)+",投资"+(totalMoney)+",获奖"+(200*count)+"");
					  }else if(result==5) {
						  System.out.println("五等奖,恭喜您!!共下了"+(count)+",投资"+(totalMoney)+",获奖"+(100*count)+"");
					  }else if(result==6) {
						  System.out.println("六等奖,恭喜您!!共下了"+(count)+",投资"+(totalMoney)+",获奖"+(10*count)+""); 
					  }else {
						  System.out.println("没有中奖!!共下了"+(count)+",投资"+(totalMoney)+",获奖"+(0*count)+"");
					  }
				  }
			  }
			    else {
			    	System.out.println("请购买彩票,再查看开奖情况");
			    }
			  break;
	  	case 3 :
	  		System.out.println("谢谢使用");
	  		break;
	  	default:
	  		System.out.println("输入错误");
	  		break;
		  }
  } while (true);
	  
	  }
  private static int getCompareResult(int[] num, int[] lucknum) {
		return 0;

}
  }

	

为什么我买好彩票后,选择2 查看兑奖情况,只显示请购买彩票,再查看开奖情况

JAVA 全系列/第一阶段:JAVA 快速入门/数组和数据存储 31999楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask高级 32000楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask数据库 32001楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 32002楼
Python 全系列/第四阶段:函数式编程和核心特性/生成器、迭代器、动态性 32004楼

老师,以下是我的代码,请问为什么会报错?请问是什么错误?

package com.bjsxt.url;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;

public class TestURL2 {
	public static void main(String[] args) throws IOException {
		/**网络爬虫
		 * (1)从网络上获取资源 www.baidu.com
		 * (2)存储到本地
		 * */
		//(1)创建URL对象
		URL url=new URL("https://www.baidu.com");//主页资源
		//(2)获取字节输入流
		InputStream is=url.openStream();
		//(3)缓冲流
		BufferedReader br=new BufferedReader(new InputStreamReader(is, "utf-8"));
		//(4)存储到本地
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("index.html"),"utf-8"));
		//(5)边读边写
		String line=null;
		while((line=br.readLine())!=null){
			bw.write(line);
			bw.newLine();
			bw.flush();
		}
		//(6)关闭流
		bw.close();
		br.close();
	
		
	}
}

报错内容:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:320)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:263)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:641)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:460)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:360)
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:441)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:419)
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1180)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1091)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1581)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:246)
	at java.base/java.net.URL.openStream(URL.java:1140)
	at com.bjsxt.url.TestURL2.main(TestURL2.java:21)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:384)
	at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:289)
	at java.base/sun.security.validator.Validator.validate(Validator.java:264)
	at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:321)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221)
	at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:625)
	... 17 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
	at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
	at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:379)
	... 23 more

请老师看一下,代码应该没问题

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 32006楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 32007楼
JAVA 全系列/第一阶段:JAVA 快速入门/变量、数据类型、运算符 32008楼
Python 全系列/第十五阶段:Python 爬虫开发/Python爬虫基础与应用 32009楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 32010楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637