从键盘接收字符类型和字符串类型的数据(剪刀石头布)

在程序里定义一个剪刀石头布的规则,然后定义两个字符型变量,接着从键盘上接收两个数据分别赋给这两个变量,再按照已经设定好了的规则来 比较,最后输出结果.

.
        这个需要首先导入Scanner类:import java.util.Scanner;,定义一个Scanner对象,
Scanner p = new Scanner(System.in);
        然后定义一个字符串变量,先从键盘上接收这个字符串的内容,
String p1 = p.next();        
 //大神说,要想接收整型变量就用.nextInt;要想接收字符串类型就用.next(),如果要接收double型变量,就用.nextdouble()
        再把这个字符串的首字母赋给字符型变量,这个需要用到.charAt(0);
char play1 = p1.charAt(0);
        然后就可以进行比较了.

(另外,char只是一个基本类型,而String 是一个类,可以直接引用。
比如char c=‘c‘;不能直接对c调用方法。
String s="abc"; 这时可以调用s.charAt(0);等方法,因为String是类,这是就是对象的调用了 )

(关于.charAt(0),

String str = "abc"; 
char ch = str.charAt(0); 
char ch2 = str.charAt(1);

这时候ch是a,ch2是b;)

本程序完整的代码如下:

 import java.util.Scanner;
public class Test02{
public static void main(String args[]){
Scanner p = new Scanner(System.in);
System.out.println("Player1 first:");
String p1 = p.next();
char play1 = p1.charAt(0);
System.out.println("Player2 please:");
String p2 = p.next();
char play2 = p2.charAt(0);
if ((play1 == ‘s‘|play1 == ‘j‘|play1 == ‘b‘)&(play2 == ‘s‘|play2 == ‘j‘|play2 == ‘b‘)){
if(play1 == play2){
System.out.println("平");
}
else if(play1 == ‘s‘){
if(play2 == ‘j‘){
System.out.println("player1胜");
}
else{
System.out.println("player2胜");
}
}
else if(play1 == ‘j‘){
if(play2 == ‘b‘){
System.out.println("player1胜");
}
else{
System.out.println("player2胜");
}
}
else if(play1 == ‘b‘){
if(play2 == ‘s‘){
System.out.println("player1胜");
}
}
}
else{
System.out.println("输入有误");
}
}
}

  

时间: 2024-08-07 19:20:40

从键盘接收字符类型和字符串类型的数据(剪刀石头布)的相关文章

数据结构之数字类型和字符串类型

数字类型和字符串类型 1.bin()函数将十进制转换成而进制 2.oct()函数将十进制转换成八进制 3.hex()函数将十进制转换成十六进制 十六进制表示:0-9 a b c d e f 4.数字类型的特性: 只能存放一个值 一经定义,不可更改 直接访问 分类:整型,布尔,浮点,复数 5.字符串类型 引号包含的都是字符串类型 S1='hello world'  s="hello world" s2="""hello world""&q

JavaSE 日期类型与字符串类型的相互转换

package cn.zwq.convert; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期类型与字符串类型的相互转换 * * @author zwq * @version V1.0 * @Date 2016年10月11日 下午8:28:04 * */ public class DateConvert { public static void

SpringMVC中的返回值问题之二返回数值类型和字符串类型

返回数值类型和字符串类型 需要导入依赖 当引入Jackson-databind-2.5.1.jar时自动引入Jackson-annotations-2.5.0.jar <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --><dependency> <groupId>com.fasterxml.jackson.core</groupId> <a

Day2_数字类型_字符串类型_列表类型_元组_字典_集合_字符编码_文件处理

数字类型: 作用:年纪,等级,薪资,身份证号等: 10进制转为2进制,利用bin来执行. 10进制转为8进制,利用oct来执行. 10进制转为16进制,利用hex来执行. #整型age=10 print(type(age)) #浮点 salary=3000.3 print(type(salary))#10进制转为2进制print(bin(age)) 字符串类型: 作用:可以表示的有名字,性别,国籍等.. 常用操作: 移除空白: name.stript()  #此时name是一个变量 *.stri

数字类型和字符串类型

1.bin()函数将十进制转换成而进制 2.oct()函数将十进制转换成八进制 3.hex()函数将十进制转换成十六进制 十六进制表示:0-9 a b c d e f 4.数字类型的特性: 只能存放一个值 一经定义,不可更改 直接访问 分类:整型,布尔,浮点,复数 5.字符串类型 引号包含的都是字符串类型 S1='hello world'  s="hello world" s2="""hello world""" s3='''

Python:数字类型和字符串类型的内置方法

一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内置方法 没有内置方法,只有算术运算和比较运算 存在一个值还是多个值 存一个值 有序or无序 有序:有索引:无序:无索引 压根就没有这一说 可变or不可变(重点) 数字类型不可变 可变(变量值而言) lis = [1,2,3] print(id(lis)) lis[0] = 2 #lis-->[2,2

QT枚举类型与字符串类型相互转换

在QT中将枚举类型注册(QT_Q_ENUM或QT_Q_FLAG)后,就可以利用QT的元对象进行枚举类型与字符串类型转换了. 代码示例: #include <QtCore/QMetaEnum> int main() { QMetaEnum metaEnum = QMetaEnum::fromType<Qt::Alignment>(); //字符串转枚举值 Qt::Alignment alignment = (Qt::Alignment)metaEnum.keyToValue(&quo

各种类型转换为字符串类型

字符型转换为字符串 // C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); // 25000 // E 科学型 25000.ToString("E"); // 2.500000E+005 // F 固定点 25.ToString("F2"); // 25.00  "F?"表示保持几位小数 // G 常规 2.5.ToString(&

Java中关于Json对象类型和字符串类型之间互相转化的问题

Java中关于Json格式转化Object,Map,Collection类型和String类型之间的转化在我们实际项目中应用的很是普遍和广泛.最近工作的过程中也是经常有,因此,自己封装了一个JsonUtil.java类. 所需要的jar包:slf4j-jdk14-1.5.6.jar,slf4j-api-1.5.6.jar------>此两个jar包是slf4j日志jar包 jackson-annotations-2.1.1.jar,jackson-core-2.1.1.jar,jackson-d