会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132464个问题

package com.hy.io.TestInputStreamReader;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;

/***
 * 测试转换流
 * @author hy
 *
 */

public class TestInputStreamReader01 {
	public static void main(String[] args) throws IOException  {
		//任务需求是将键盘输入的数据写入磁盘		
		//1,数据源的标准输入,键盘System.in
		InputStream is=System.in;
		//2,使用转换流,转换成字符串
		InputStreamReader isr=new InputStreamReader(is,"gbk");
		//3,提高读取效率
		BufferedReader br=new BufferedReader(isr);
		//4,提高写入效率
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\cc.txt")));							
			//5,写入磁盘文件
			String line=null;//用来存储读到的字符串
			while("over".equals((line=br.readLine()))){//通过读取的字符和over进行对比,如果相等,则停止
				bw.write(line);//读取整行字符
				bw.newLine();//换行
				bw.flush();	//手动刷新缓存	
			}		
			//6,关闭程序			
			bw.close();				
			br.close();					
	}
}

老师你好,我是按照视频敲得代码,但是最后的控制台输入时,怎么换行呀?如果输入的是非over数据,按enter换行时,程序运行也就结束了指定的文件为空;如果输入的是over,按enter键可以正常换行继续输入,但是指定的文件中只会有over这个数据,

JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 34683楼
Python 全系列/第十二阶段:Python_Django3框架/Django初级 34684楼
Python 全系列/第十五阶段:Python 爬虫开发/爬虫反反爬- 34685楼
Python 全系列/第五阶段:数据库编程/mysql的使用 34686楼
Python 全系列/第二阶段:Python 深入与提高/模块 34688楼
Python 全系列/第五阶段:数据库编程/mysql介绍与环境安装 34690楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 34691楼
Java架构课程/第五阶段:Spring全家桶(Spring Boot)/Spring Boot 34692楼

"""定义一个 Employee 雇员类,要求如下:
(1) 属性有:id、name、salary
(2) 运算符重载+:实现两个对象相加时,默认返回他们的薪水和
(3) 构造方法要求:输入 name、salary,不输入 id。id 采用自增的方式,从 1000 开始自增,第一个新增对象是 1001,第二个新增对象是 1002
(4) 根据 salary 属性,使用@property 设置属性的 get 和 set 方法。set 方法要求输入:1000-50000 范围的数"""
class Employee:
    id = 1000
 
    def __init__(self, name, salary):
        self.name = name
        self.__salary = salary
        Employee.id += 1
        self.id = Employee.id
 
    def __add__(self, other):
        if isinstance(other, Employee):
            return "{0}和{1}的薪水和是:{2}".format(self.name, other.name, self.__salary + other.__salary)
        else:
            return "输入错误"
 
    @property
    def salary(self):
        return self.__salary
 
    @salary.setter
    def salary(self, salary):
        if 1000 <= salary <= 50000:
            self.__salary = salary
        else:
            print("输入错误")
 
 
a1 = Employee("jjj", 5000)
a2 = Employee("iii", 2000000)
 
print("{0}的员工编号是{1}工资{2}".format(a1.name, a1.id, a1.salary))
print("{0}的员工编号是{1}工资{2}".format(a2.name, a2.id, a2.salary))
print(a1 + a2)
a1.salary = 1000000
a1.salary = 6666
print(a1.salary)

请问老师,为什么我在后期修改工资的时候会判断工资输入错误,但是在a2直接输入工资就不能报错了

(RYYP@O)B8RIY_VSE}O6G~2.png

Python 全系列/第一阶段:Python入门/面向对象 34693楼
JAVA 全系列/第一阶段:JAVA 快速入门/面向对象详解和JVM底层内存分析 34694楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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