今天使用IDEA,Junit使用Scanner控制台无法输入,我以为是代码的问题。于是把单元测试换成了main函数

1、使用单元测试

@Test
public void test()throws Exception{//从键盘输入用户信息,添加到day04_test01_bookstore库的users表中Scanner input = new Scanner(System.in);System.out.print("请输入用户名:");String username = input.next();System.out.print("请输入密码:");String password = input.next();System.out.print("请输入邮箱:");String email = input.next();//1、注册驱动Class.forName("com.mysql.jdbc.Driver");//2、获取连接Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test01_bookstore?useUnicode=true&characterEncoding=utf8", "root", "123456");//3、编写sqlString sql = "insert into users values(null,?,password(?),?)";//4、创建PreparedStatementPreparedStatement pst = conn.prepareStatement(sql);//此时的sql带?的//加入一步,设置?的值pst.setString(1, username);//1表示第1个?pst.setString(2, password);//2表示第2个?pst.setString(3, email);//3表示第3个?//5、执行sqlint len = pst.executeUpdate();System.out.println(len>0?"添加成功":"添加失败");//6、关闭pst.close();conn.close();input.close();
}

2、使用main函数

package Connection4;import org.junit.Test;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;/*** @author shkstart* @create 2021-08-24 13:35*/public class Test04 {public static void main(String[] args) throws Exception {Test04 test04 = new Test04();test04.test();}public void test() throws Exception {//从键盘输入用户信息,添加到day04_test01_bookstore库的users表中Scanner input = new Scanner(System.in);System.out.print("请输入用户名:");String username = input.next();System.out.print("请输入密码:");String password = input.next();System.out.print("请输入邮箱:");String email = input.next();//1、注册驱动Class.forName("com.mysql.jdbc.Driver");//2、获取连接Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test01_bookstore?useUnicode=true&characterEncoding=utf8", "root", "123456");//3、编写sqlString sql = "insert into users values(null,?,password(?),?)";//4、创建PreparedStatementPreparedStatement pst = conn.prepareStatement(sql);//此时的sql带?的//加入一步,设置?的值pst.setString(1, username);//1表示第1个?pst.setString(2, password);//2表示第2个?pst.setString(3, email);//3表示第3个?//5、执行sqlint len = pst.executeUpdate();System.out.println(len > 0 ? "添加成功" : "添加失败");//6、关闭pst.close();conn.close();input.close();}
}


那到底单元测试能不能使用Scanner呢,答案是能的

解决方法:

1、 打开IDEA安装根目录下的bin文件夹,找到idea.exe.vmoptions和idea64.exe.vmoptions这两个文件

2、用记事本或者EditPlus 或者直接在idea中编辑这两个文件
添加-Deditable.java.test.console=true
注意:是两个文件都要添加
idea.exe.vmoptions文件
idea64.exe.vmoptions文件

然后就可以输入了。

IDEA中单元测试使用Scanner控制台无法输入相关推荐

  1. scanner 获取控制台信息_关于java.util.scanner:如何使用Java中的Scanner类从控制台读取输入?...

    如何使用Scanner类从控制台读取输入? 像这样: System.out.println("Enter your username:"); Scanner = input(); ...

  2. 通过代码创建一个文件a.txt 然后写一个方法,控制台循环输入内容,然后通过gbk的编码格式保存到 a.txt中(要求可以追加),直到输入exit结束 再写一个方法,要求用字符缓冲流读取a.tx

    通过代码创建一个文件a.txt 然后写一个方法,控制台循环输入内容,然后通过gbk的编码格式保存到 a.txt中(要求可以追加),直到输入exit结束 再写一个方法,要求用字符缓冲流读取a.txt中的 ...

  3. vscode中控制台不能输入_vscode控制台不能输入怎么办

    vscode控制台不能输入怎么办? VS Code 控制台不能输入的问题 最近想简单复习下之前的C++的东西,由于用的是Mac环境只能装VS Code,第一次用还是不太习惯,本想简单做下输入的测试,代 ...

  4. 在项目中单元测试是用来做什么的?

    前言 再讲单元测试测什么之前,我们先了解下为什么需要要单元测试? 当编写项目的时刻,如果我们假设底层的代码是正确无误的,那么先是高层代码中使用了底层代码;然后这些高层代码又被更高层的代码所使用,如此往 ...

  5. 如何在RedHat8中使用快捷键打开控制台

    如何在RedHat8中使用快捷键打开控制台 1.右键屏幕空白处.点击设置DisplaySettings 2.选择Keyboard,并将列表下拉至最后,看到一个"+"号 3添加快捷命 ...

  6. 解决IDEA中安装JREBEL插件控制台报JRebel-JVMTI [FATAL] Couldn‘t write to C:\Users\错误

    解决IDEA中安装JREBEL插件控制台报JRebel-JVMTI [FATAL] Couldn't write to C:\Users\错误 问题        在写javaweb项目时,反复的开关 ...

  7. python处理回显_Python中getpass模块无回显输入源码解析

    本文主要讨论了python中getpass模块的相关内容,具体如下. getpass模块 昨天跟学弟吹牛b安利Python标准库官方文档的时候偶然发现了这个模块.仔细一看内容挺少的,只有两个主要api ...

  8. Java学习笔记之[ 利用扫描仪Scanner进行数据输入 ]

    /*********数据的输入********/ /**利用扫描仪Scanner进行数据输入 怎么使用扫描仪Scanner *1.放在类声明之前,引入扫描仪 import java.util.Scan ...

  9. 在可编辑表格EditorGrid中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍然被插入数据库中...

    为什么80%的码农都做不了架构师?>>>    问题描述:在可编辑表格中,我选择一行已输入的数据,点击删除按钮,该行数据将被删除,然后当我点击表单提交按钮时,已经被删除的那一行数据仍 ...

  10. java输出流输入流的使用_Java中的IO流之文件输入输出流

    Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...

最新文章

  1. 清华集训2014 day2 task1 简单回路
  2. python timeit计时_如何使用Python的timeit计时代码段以测试性能?
  3. 读书笔记 - 《吉卜力的伙伴们》
  4. Bootstrap全局css样式_代码
  5. Liunx 系统调优
  6. leetcode No.21 合并两个有序链表
  7. Spring官方都说废掉GuavaCache用Caffeine,你还不换?
  8. java list打乱排序_JAVA Collections.shuffle打乱列表
  9. 如何优雅地记录操作日志
  10. 什么是VB.NET?
  11. 千姿百态项目经理2——“缥缈”项目经理
  12. abaqus python提取楼层剪力_用Python提取ABAQUS中节点集合的反力
  13. 【Swift】401状态处理流程
  14. MATLAB2014b画极坐标散点图
  15. 亚马逊广告接口 amazon advertising
  16. android 头像球_【Android 界面效果44】Android之圆头像实例
  17. excel中使用VBA如何统计数据区域最后一行行号?
  18. 人脸识别技术在智慧城城市建设中的深度应用
  19. 源码分析教程5部曲之1——漫游C语言-杨振平-专题视频课程
  20. union和union all 的区别

热门文章

  1. JACK——PaintRobot Exercise6
  2. idea tomcat 发布web工程全过程
  3. 14.TCP/IP 详解卷1 --- DNS:域名系统
  4. 6. 隐藏 index.php
  5. 74. PHP 计数器
  6. 20180712 (函数,函数的返回值return,函数的参数以及实际运用)
  7. setTimeout 带参数调用问题
  8. keepalived+nginx双机热备+负载均衡
  9. oracle常用命令(比较常见好用)
  10. leetcode 名单 Insertion Sort List